如何在 CentOS 上检查已安装的软件包

在管理服务器时,您有时需要检查系统上安装了哪些软件(或软件包)。 您需要知道软件包名称、版本号、安装日期等。在这个 Liquid Web 教程中,我们将讨论如何检查安装在您的 CentOS 系统上的软件包。 有几种方法可以实现这一点,我们将讨论其中的一些。 让我们深入挖掘! 要使用这些命令,您需要通过 SSH 登录到您的服务器。 有关详细信息,请参阅 通过 Secure Shell (SSH) 登录您的服务器.

使用 RPM 包管理器

第一个命令使用 rpm 包管理器来轮询已安装的包。 此命令允许您查看系统上每个已安装的软件包,以及当前安装的版本:

rpm -qa

注意 -q 表示“查询”,-a 表示“全部”。 我们要求 rpm 查询所有已安装的软件包。

让我们详细检查一小部分结果。 请注意,您可能没有在您的 CentOS 服务器上安装这些特定的软件包。 这里重要的是了解如何读取输出。 看一下列表中的一小部分条目。kpartx-0.4.9-123.el7.x86_64
dracut-033-554.el7.x86_64
elfutils-libs-0.172-2.el7.x86_64

每个条目可以分为三个部分。 从左到右,这些是:
包名:(kpartx)
版本:(0.4.9-123.el7)
架构:(x86_64)

除了显示所有已安装的包外,rpm 还可用于搜索单个包。 让我们使用 rpm 来查询 kpartx:
rpm -q kpartx

您将看到输出显示与我们在 rpm -qa 中看到的相同的包名称和版本。
kpartx-0.4.9-123.el7.x86_64

使用 Yum 检查已安装的软件包

使用 rpm 并不是检查系统上已安装软件包的唯一方法。 现在我们将讨论如何使用“yum”来完成同样的任务。 尝试以下命令:
yum list installed

您会看到 yum 提供的列表格式略有不同。 让我们深入来看一个条目。
whois.x86_64 5.1.1-2.el7 @base

第一列显示包名称和架构:(whois.x86_64)。
第二列显示安装的版本:(5.1.1-2.el7)。
最后,第三列显示了安装软件的存储库:(@base)。

使用 yum 查看历史安装数据

我们还可以使用 yum 查看您系统上的历史安装数据。 运行以下命令以查看使用 yum 安装、删除或升级软件包的任何时间列表:
yum history

这是一个 example 您可能会看到的输出。 您的系统将在此处显示不同的结果,这没关系。 我们只是对学习如何读取输出感兴趣。
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
10 | upgrade | 2019-06-01 04:13 | I, U | 12 EE
9 | install whois | 2019-05-04 17:40 | Install | 1
8 | install python36 | 2019-05-03 21:23 | Install | 2
7 | install epel-release | 2019-05-03 21:02 | Install | 1
6 | install bind-utils | 2019-05-03 19:33 | Install | 2
5 | install docker-ce docker | 2019-05-03 17:37 | Install | 4
4 | install yum-utils yum-co | 2019-05-03 17:26 | Install | 6
3 | install git | 2019-05-03 17:19 | Install | 4
2 | install vim | 2019-05-03 17:18 | Install | 31
1 | update | 2019-05-03 17:09 | I, U | 57
history list

请注意列标题​​:“ID 号、数据和时间、操作和更改”。 这是对何时使用 yum 的一个很好的总结,但缺少详细信息。 让我们详细检查这些历史条目之一。 尝试以下命令,将“ID_NUMBER”替换为您要检查的实际 ID。
yum history info ID_NUMBER

这里有一些 example 输出:
Loaded plugins: fastestmirror
Transaction ID : 9
Begin time : Sat May 4 17:40:24 2019
Begin rpmdb : 356:8ab21eca9f4a219812e33c41a73fbd4eb7de1ed8
End time : (0 seconds)
End rpmdb : 357:cf2bf4588ba4d3263d1c9af051c3bcc525596a68
User : Cloud User <centos>
Return-Code : Success
Command Line : install whois
Transaction performed with:
Installed rpm-4.11.3-35.el7.x86_64 installed
Installed yum-3.4.3-161.el7.centos.noarch installed
Installed yum-plugin-fastestmirror-1.1.31-50.el7.noarch installed
Packages Altered:
Install whois-5.1.1-2.el7.x86_64 @base
history info

在本教程中,我们讨论了如何使用 rpm 和 yum 在您的 CentOS 服务器上搜索已安装的软件包。 这些实用程序都是 CentOS 系统上 Linux 系统管理员的关键工具。 当然,如果您对如何在自己的 Liquid Web 服务器上使用这些实用程序有任何疑问,请告诉我们! 托管中最有帮助的人全天候 24 小时待命,我们很乐意回答您的问题。