在CentOS系统中,使用Yum包管理器查看已安装软件包是日常运维的重要操作,Yum(Yellowdog Updater Modified)是一个基于RPM的软件包管理器,能够自动解决依赖关系,简化软件的安装、升级和卸载过程,掌握如何使用Yum查看已安装软件包,可以帮助管理员快速了解系统环境、排查依赖问题以及进行软件版本管理,以下是几种常用的Yum查看已安装软件包的方法及其应用场景。

使用yum list installed查看所有已安装软件包
最基础的方法是使用yum list installed命令,该命令会列出系统中所有通过Yum安装的软件包,执行后,终端会显示软件包名称、版本和仓库来源等信息。
yum list installed
输出结果通常包含多列信息,第一列是软件包名称,第二列是版本号,第三列是仓库标识,如果软件包数量较多,可以通过管道结合grep命令进行过滤,例如查找与Apache相关的软件包:
yum list installed | grep httpd
这种方法适合快速浏览系统中的所有软件包,但在软件包数量庞大的情况下,输出结果可能较长,建议结合过滤工具使用。
使用yum info查看特定软件包的详细信息
如果需要了解某个特定软件包的详细信息,可以使用yum info命令加上软件包名称,查看httpd软件包的详细信息:
yum info httpd
输出结果会包含软件包的名称、版本、发布版本、大小、依赖关系、仓库来源以及简要描述等信息,这种方法适用于确认软件包的具体版本、检查是否已安装某个特定版本的软件包,或者了解软件包的功能描述。
使用yum history查看软件包的安装历史
Yum会记录所有软件包的安装、升级和卸载操作,使用yum history命令可以查看历史操作记录,列出所有历史操作:
yum history list
输出结果会显示操作ID、命令类型(安装、升级、卸载等)、时间戳、软件包数量等信息,如果需要查看某个具体操作的详情,可以使用history info加上操作ID,
yum history info 5
这种方法适合追溯软件包的安装来源、排查误操作或回滚特定变更。
使用rpm命令辅助查看软件包信息
虽然Yum是基于RPM的封装工具,但直接使用rpm命令也可以查看已安装软件包的信息,使用rpm -qa列出所有已安装的RPM软件包:

rpm -qa
该命令的输出结果与yum list installed类似,但不会显示仓库信息,如果需要过滤结果,可以结合grep命令,
rpm -qa | grep mysql
rpm -qi命令可以查看软件包的详细信息,
rpm -qi httpd
这种方法适合在不依赖Yum的环境下查看软件包信息,或进行更底层的RPM包管理操作。
结合正则表达式和通配符进行模糊查询
Yum支持使用正则表达式和通配符进行模糊查询,查找名称中包含”python”的已安装软件包:
yum list installed 'python*'
或者使用正则表达式查找以”dev”结尾的软件包:
yum list installed '~dev$'
这种方法适合批量查找功能相似的软件包,例如开发库、语言运行时等。
使用第三方工具增强查询功能
除了Yum和RPM命令,还可以结合第三方工具增强查询功能。yum-utils包提供了repoquery工具,可以更灵活地查询软件包信息,首先安装yum-utils:
yum install yum-utils
然后使用repoquery查询已安装软件包:
repoquery -a --installed
repoquery支持更复杂的查询条件,例如根据依赖关系反向查找软件包,适合高级用户进行依赖分析。

实际应用场景示例
- 检查系统基础环境:新部署的服务器需要确认是否安装了必要的软件包,如
gcc、make等编译工具,可以使用yum list installed | grep gcc快速验证。 - 排查依赖问题:当某个服务无法启动时,可能需要检查依赖的库文件是否已安装,例如
yum info libssl查看SSL库的版本。 - 软件版本管理:在升级系统前,需要记录当前已安装的软件包版本,可以使用
yum list installed > installed_packages.txt导出列表,便于后续对比。
注意事项
- 权限要求:部分Yum命令需要root权限,普通用户可能需要使用
sudo执行。 - 仓库配置:Yum的查询结果依赖于已配置的软件源,确保仓库列表正确更新(
yum makecache)。 - 输出格式:默认输出可能较长,建议结合
less工具分页显示,例如yum list installed | less。
相关问答FAQs
Q1: 如何查看系统中所有已安装软件包的数量?
A1: 可以通过以下命令统计已安装软件包的数量:
yum list installed | wc -l
或者使用RPM命令:
rpm -qa | wc -l
这两种方法都会返回系统中已安装软件包的总数,适合快速评估系统规模。
Q2: 如何查找某个文件属于哪个软件包?
A2: 如果需要确认某个系统文件(如/etc/nginx/nginx.conf)属于哪个软件包,可以使用yum provides命令:
yum provides '/etc/nginx/nginx.conf'
该命令会输出提供该文件的软件包名称,方便定位文件来源或进行修复操作。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复