0%

Linux最常用的几个软件包管理命令

Linux最常用的几个软件包管理命令

仅个人想法,会持续不间断更新和改进。

软件安装,应该算是Linux系统中最常见的操作之一,而软件包管理命令,也是我们在Linux系统中最常用的命令之一。

但凡系统安装好以后,第一件事情就是更新软件包,然后安装自己需要的软件包,这是一个很常见的操作。

Linux不同与Windows,直接下载一个exe文件双击就可以安装,Linux系统需要命令行来安装软件包,这是一个很大的区别。

而用于安装、更新、删除软件包,以及管理系统的软件包又由于不同的Linux发行版,由不同的方式,比如aptyumdpkgrpm等。


软件管理利器 - Debian系的apt

对于最常用的命令而言,apt可能排不上号,但是,在新安装的系统中,apt 命令绝对应该是排在前十位的存在,所以apt是管理 Debian 系列系统中软件包的必备工具。

apt - command-line interface

apt是Advanced Package Tool的缩写,恰如字面描述高级包工具apt 命令是用于 Debian 系列 Linux 发行版的强大工具,比如广为人知的Ubuntu,还有超赞桌面的Linux Mint。

apt使得处理软件包,比如安装、更新和删除软件包的过程特别丝滑,也结合了较早的工具如 apt-getapt-cache 的功能,提供了更友好的交互体验。

更新软件包列表

在安装或升级软件包之前,可以更新软件包列表,以确保拥有可用软件包的最新信息。

使用以下命令:

1
$ sudo apt update

此命令从配置的仓库中获取最新的软件包信息。

升级软件包

要将所有已安装的软件包升级到最新版本,可以使用:

1
$ sudo apt upgrade

要进行更全面的升级,包括删除旧软件包和安装新依赖项,请使用:

1
$ sudo apt full-upgrade # 特别留意,这个会把老版本给删除

安装软件包

apt 命令使得软件包安装变得非常简单。要安装一个软件包,只需要使用:

1
$ sudo apt install <软件包名称>

例如,要安装文本编辑器瑞士军刀 vim,您可以运行:

1
$ sudo apt install vim

删除软件包

卸载软件包同样简单。要删除一个软件包,使用:

1
$ sudo apt remove <软件包名称>

如果您想删除软件包及其配置文件,使用:

1
$ sudo apt purge <软件包名称>

搜索软件包

要查找某个软件包,可以使用关键词进行搜索:

1
$ apt search <关键词>

例如,要搜索与 “python” 相关的软件包,您可以运行:

1
$ apt search python

显示软件包信息

要查看特定软件包的详细信息,使用:

1
$ apt show <软件包名称>

此命令提供软件包描述、依赖关系和版本信息等详细信息。

清理

随着时间的推移,积累过时的软件包和缓存文件。要清理不必要的软件包,使用:

1
$ sudo apt autoremove

要清除本地存储库中获取的包文件,使用:

1
$ sudo apt clean

管理仓库

apt 获取软件包信息的仓库列表存储在 /etc/apt/sources.list/etc/apt/sources.list.d/ 目录下的文件中。

要添加新的仓库,可以直接编辑这些文件或使用 add-apt-repository 命令:

1
$ sudo add-apt-repository ppa:<仓库名称>

添加仓库后,需要更新软件包列表才能使用:

1
$ sudo apt update

红帽系的软件管理利器 - yum

.. note::
当年不肯嫁春风,无端却被秋风误。
贺铸《芳心苦·杨柳回塘》

我从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 安装软件包的基本语法是:

1
$ sudo yum install package_name

例如,要安装 wget 软件包,可以使用以下命令:

1
$ sudo yum install wget

yum 会自动解决依赖关系,确保所有必需的软件包都被安装。

更新软件包

保持系统更新对于安全性和性能非常重要。要更新特定的软件包,使用:

1
$ sudo yum update package_name

例如,更新 wget

1
$ sudo yum update wget

要更新所有已安装的软件包,只需运行:

1
$ sudo yum update

删除软件包

如果需要删除一个软件包,语法如下:

1
$ sudo yum remove package_name

例如,删除 wget

1
$ sudo yum remove wget

yum 将处理指定软件包的删除,并删除不再需要的依赖项。

检查可用更新

要检查是否有可用更新而不实际应用它们,使用:

1
$ yum check-update

此命令会列出所有有可用更新的软件包,帮助您决定哪些需要更新。

列出已安装的软件包

要列出系统上所有已安装的软件包,运行:

1
$ yum list installed

此命令提供了当前已安装的所有软件包的详细列表。

搜索软件包

如果不确定软件包的确切名称,可以使用:

1
$ yum search keyword

例如,搜索与 wget 相关的软件包:

1
$ yum search wget

此命令会返回与关键字匹配的软件包列表。

显示软件包信息

要查看特定软件包的详细信息,使用:

1
$ yum info package_name

例如,获取 wget 的信息:

1
$ yum info wget

此命令提供软件包的详细信息,如版本、发布、大小和简短描述。

清理 yum 缓存

随着时间推移,yum 的缓存会增长并占用磁盘空间。要清理缓存,使用:

1
$ sudo yum clean all

此命令会删除缓存数据,释放空间,并确保 yum 获取最新的软件包信息。

管理仓库

yum 使用仓库作为软件包的来源。要列出所有配置的仓库,运行:

1
$ yum repolist

启用特定仓库:

1
$ sudo yum-config-manager --enable repository_name

禁用特定仓库:

1
$ sudo yum-config-manager --disable repository_name

高级用法

安装特定版本的软件包

如果需要安装特定版本的软件包,使用:

1
$ sudo yum install package_name-version

例如,安装 wget1.20 版本:

1
$ sudo yum install wget-1.20

降级软件包

要将软件包降级到以前的版本,使用:

1
$ sudo yum downgrade package_name

组安装

yum 允许您安装为特定目的而设计的一组软件包。例如,安装开发工具组,使用:

1
$ sudo yum groupinstall "Development Tools"

稍显底层的红帽系软件管理工具 - rpm

如果说yum是高大上的软件安装管理工具,那么rpm就是低调奢华的底层工具。

简洁但略显繁琐。

官方定义为:

rpm - RPM Package Manager

其实rpm也可以看作是Redhat Package Manager的缩写,因为rpm也是基本用于Red Hat 系的 Linux 发行版,如 CentOS、Fedora 和 RHEL。

这个命令命令主要用于安装、卸载、升级、查询和验证软件包。所以重点来了,需要软件包

安装软件包

要使用 RPM 安装软件包,基本语法是:

1
$ sudo rpm -ivh package_name.rpm

比如,安装 example.rpm 软件包:

1
$ sudo rpm -ivh example.rpm

其中:

  • -i 表示安装(install)
  • -v 表示详细模式(verbose),显示安装过程的详细信息
  • -h 表示显示进度条(hash),可视化安装进度

升级软件包

要升级已安装的软件包,使用:

1
$ sudo rpm -Uvh package_name.rpm

比如,升级 example.rpm

1
$ sudo rpm -Uvh example.rpm

其中 -U 表示升级(upgrade),如果软件包未安装则进行安装。

删除软件包

要删除已安装的软件包,语法如下:

1
$ sudo rpm -e package_name

比如,删除 example 软件包:

1
$ sudo rpm -e example

其中 -e 表示删除(erase)。

查询软件包

查询已安装的软件包

要查询系统上已安装的软件包,使用:

1
rpm -qa

其中 -q 表示查询(query),-a 表示所有(all)。

查询特定软件包信息

要查看特定软件包的信息,使用:

1
$ rpm -qi package_name

比如,查询 example 软件包的信息:

1
$ rpm -qi example

其中 -i 表示信息(info)。

查询文件属于哪个软件包

要查询系统中文件属于哪个软件包,使用:

1
$ rpm -qf /path/to/file

比如,查询 /usr/bin/example 文件属于哪个软件包:

1
$ rpm -qf /usr/bin/example

其中 -f 表示文件(file)。

验证软件包

要验证已安装的软件包,使用:

1
$ rpm -V package_name

比如,验证 example 软件包:

1
$ rpm -V example

其中 -V 表示验证(verify)。

显示软件包内容

要显示软件包中的文件列表,使用:

1
$ rpm -ql package_name

比如,显示 example 软件包的文件列表:

1
$ rpm -ql example

其中 -l 表示列表(list)。

检查软件包依赖

要检查软件包的依赖关系,使用:

1
$ rpm -qpR package_name.rpm

比如,检查 example.rpm 软件包的依赖关系:

1
$ rpm -qpR example.rpm

其中:
- -p 表示指定包文件(package)。
- -R 表示依赖(requires)。

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道