Linux最常用的几个软件包管理命令
- Linux最常用的几个软件包管理命令
- 软件管理利器 - Debian系的apt
- 更新软件包列表
- 升级软件包
- 安装软件包
- 删除软件包
- 搜索软件包
- 显示软件包信息
- 清理
- 管理仓库
- 红帽系的软件管理利器 - yum
- 安装软件包
- 更新软件包
- 删除软件包
- 检查可用更新
- 列出已安装的软件包
- 搜索软件包
- 显示软件包信息
- 清理 `yum` 缓存
- 管理仓库
- 高级用法
- 安装特定版本的软件包
- 降级软件包
- 组安装
- 稍显底层的红帽系软件管理工具 - rpm
- 安装软件包
- 升级软件包
- 删除软件包
- 查询软件包
- 查询已安装的软件包
- 查询特定软件包信息
- 查询文件属于哪个软件包
- 验证软件包
- 显示软件包内容
- 检查软件包依赖
- 更多信息
Linux最常用的几个软件包管理命令
仅个人想法,会持续不间断更新和改进。
软件安装,应该算是Linux系统中最常见的操作之一,而软件包管理命令,也是我们在Linux系统中最常用的命令之一。
但凡系统安装好以后,第一件事情就是更新软件包,然后安装自己需要的软件包,这是一个很常见的操作。
Linux不同与Windows,直接下载一个exe文件双击就可以安装,Linux系统需要命令行来安装软件包,这是一个很大的区别。
而用于安装、更新、删除软件包,以及管理系统的软件包又由于不同的Linux发行版,由不同的方式,比如apt
、yum
、dpkg
、rpm
等。
软件管理利器 - Debian系的apt
对于最常用的命令而言,apt
可能排不上号,但是,在新安装的系统中,apt
命令绝对应该是排在前十位的存在,所以apt
是管理 Debian 系列系统中软件包的必备工具。
apt - command-line interface
apt是Advanced Package Tool的缩写,恰如字面描述高级包工具,apt
命令是用于 Debian 系列 Linux 发行版的强大工具,比如广为人知的Ubuntu,还有超赞桌面的Linux Mint。
apt
使得处理软件包,比如安装、更新和删除软件包的过程特别丝滑,也结合了较早的工具如 apt-get
和 apt-cache
的功能,提供了更友好的交互体验。
更新软件包列表
在安装或升级软件包之前,可以更新软件包列表,以确保拥有可用软件包的最新信息。
使用以下命令:
$ sudo apt update
此命令从配置的仓库中获取最新的软件包信息。
升级软件包
要将所有已安装的软件包升级到最新版本,可以使用:
$ sudo apt upgrade
要进行更全面的升级,包括删除旧软件包和安装新依赖项,请使用:
$ sudo apt full-upgrade # 特别留意,这个会把老版本给删除
安装软件包
apt
命令使得软件包安装变得非常简单。要安装一个软件包,只需要使用:
$ sudo apt install <软件包名称>
例如,要安装文本编辑器瑞士军刀 vim
,您可以运行:
$ sudo apt install vim
删除软件包
卸载软件包同样简单。要删除一个软件包,使用:
$ sudo apt remove <软件包名称>
如果您想删除软件包及其配置文件,使用:
$ sudo apt purge <软件包名称>
搜索软件包
要查找某个软件包,可以使用关键词进行搜索:
$ apt search <关键词>
例如,要搜索与 “python” 相关的软件包,您可以运行:
$ apt search python
显示软件包信息
要查看特定软件包的详细信息,使用:
$ apt show <软件包名称>
此命令提供软件包描述、依赖关系和版本信息等详细信息。
清理
随着时间的推移,积累过时的软件包和缓存文件。要清理不必要的软件包,使用:
$ sudo apt autoremove
要清除本地存储库中获取的包文件,使用:
$ sudo apt clean
管理仓库
apt
获取软件包信息的仓库列表存储在 /etc/apt/sources.list
及 /etc/apt/sources.list.d/
目录下的文件中。
要添加新的仓库,可以直接编辑这些文件或使用 add-apt-repository
命令:
$ sudo add-apt-repository ppa:<仓库名称>
添加仓库后,需要更新软件包列表才能使用:
$ sudo apt update
红帽系的软件管理利器 - yum
我从ubuntu开始,后面短暂切换到Fedora,然后切换到CentOS,在CentOS断更之前,再无改变,所以最了解的还是yum命令了。
官方定义为:
yum - Yellowdog Updater Modified
说实话,yum跟yellowdog感觉半毛线关系都没有,那为什么有这个名字呢?
其实曾经有一个基于PowerPC架构的Linux发行版,名为Yellow Dog Linux。
而yum
的名字即来源于此,且为其改进版本。
yum
是一个强大的包管理工具,常用于 Red Hat 系的 Linux 发行版,如 CentOS、Fedora 和 RHEL。
它简化了安装、更新、删除和管理软件包的过程。
基本其他基于RPM的Linux发行版也使用这个命令。
其他列出了一些常用和不太常用的命令,基本足矣。
安装软件包
使用 yum
安装软件包的基本语法是:
$ sudo yum install package_name
例如,要安装 wget
软件包,可以使用以下命令:
$ sudo yum install wget
yum
会自动解决依赖关系,确保所有必需的软件包都被安装。
更新软件包
保持系统更新对于安全性和性能非常重要。要更新特定的软件包,使用:
$ sudo yum update package_name
例如,更新 wget
:
$ sudo yum update wget
要更新所有已安装的软件包,只需运行:
$ sudo yum update
删除软件包
如果需要删除一个软件包,语法如下:
$ sudo yum remove package_name
例如,删除 wget
:
$ sudo yum remove wget
yum
将处理指定软件包的删除,并删除不再需要的依赖项。
检查可用更新
要检查是否有可用更新而不实际应用它们,使用:
$ yum check-update
此命令会列出所有有可用更新的软件包,帮助您决定哪些需要更新。
列出已安装的软件包
要列出系统上所有已安装的软件包,运行:
$ yum list installed
此命令提供了当前已安装的所有软件包的详细列表。
搜索软件包
如果不确定软件包的确切名称,可以使用:
$ yum search keyword
例如,搜索与 wget
相关的软件包:
$ yum search wget
此命令会返回与关键字匹配的软件包列表。
显示软件包信息
要查看特定软件包的详细信息,使用:
$ yum info package_name
例如,获取 wget
的信息:
$ yum info wget
此命令提供软件包的详细信息,如版本、发布、大小和简短描述。
清理 yum
缓存
随着时间推移,yum
的缓存会增长并占用磁盘空间。要清理缓存,使用:
$ sudo yum clean all
此命令会删除缓存数据,释放空间,并确保 yum
获取最新的软件包信息。
管理仓库
yum
使用仓库作为软件包的来源。要列出所有配置的仓库,运行:
$ yum repolist
启用特定仓库:
$ sudo yum-config-manager --enable repository_name
禁用特定仓库:
$ sudo yum-config-manager --disable repository_name
高级用法
安装特定版本的软件包
如果需要安装特定版本的软件包,使用:
$ sudo yum install package_name-version
例如,安装 wget
的 1.20
版本:
$ sudo yum install wget-1.20
降级软件包
要将软件包降级到以前的版本,使用:
$ sudo yum downgrade package_name
组安装
yum
允许您安装为特定目的而设计的一组软件包。例如,安装开发工具组,使用:
$ sudo yum groupinstall "Development Tools"
稍显底层的红帽系软件管理工具 - rpm
如果说yum是高大上的软件安装管理工具,那么rpm就是低调奢华的底层工具。
简洁但略显繁琐。
官方定义为:
rpm - RPM Package Manager
其实rpm也可以看作是Redhat Package Manager的缩写,因为rpm也是基本用于Red Hat 系的 Linux 发行版,如 CentOS、Fedora 和 RHEL。
这个命令命令主要用于安装、卸载、升级、查询和验证软件包。所以重点来了,需要软件包。
安装软件包
要使用 RPM 安装软件包,基本语法是:
$ sudo rpm -ivh package_name.rpm
比如,安装 example.rpm
软件包:
$ sudo rpm -ivh example.rpm
其中:
-
-i
表示安装(install) -
-v
表示详细模式(verbose),显示安装过程的详细信息 -
-h
表示显示进度条(hash),可视化安装进度
升级软件包
要升级已安装的软件包,使用:
$ sudo rpm -Uvh package_name.rpm
比如,升级 example.rpm
:
$ sudo rpm -Uvh example.rpm
其中 -U
表示升级(upgrade),如果软件包未安装则进行安装。
删除软件包
要删除已安装的软件包,语法如下:
$ sudo rpm -e package_name
比如,删除 example
软件包:
$ sudo rpm -e example
其中 -e
表示删除(erase)。
查询软件包
查询已安装的软件包
要查询系统上已安装的软件包,使用:
rpm -qa
其中 -q
表示查询(query),-a
表示所有(all)。
查询特定软件包信息
要查看特定软件包的信息,使用:
$ rpm -qi package_name
比如,查询 example
软件包的信息:
$ rpm -qi example
其中 -i
表示信息(info)。
查询文件属于哪个软件包
要查询系统中文件属于哪个软件包,使用:
$ rpm -qf /path/to/file
比如,查询 /usr/bin/example
文件属于哪个软件包:
$ rpm -qf /usr/bin/example
其中 -f
表示文件(file)。
验证软件包
要验证已安装的软件包,使用:
$ rpm -V package_name
比如,验证 example
软件包:
$ rpm -V example
其中 -V
表示验证(verify)。
显示软件包内容
要显示软件包中的文件列表,使用:
$ rpm -ql package_name
比如,显示 example
软件包的文件列表:
$ rpm -ql example
其中 -l
表示列表(list)。
检查软件包依赖
要检查软件包的依赖关系,使用:
$ rpm -qpR package_name.rpm
比如,检查 example.rpm
软件包的依赖关系:
$ rpm -qpR example.rpm
其中:
-
-p
表示指定包文件(package)。 -
-R
表示依赖(requires)。