如何在 Linux 中使用 yum history 命令

yum history命令是系统管理员在 Linux 系统上跟踪和管理软件包安装与更新的强大工具。此命令提供所有 Yum 事务的详细信息,便于排查问题、回滚更改或审计系统修改。

在本指南中,我们将介绍如何使用yum history命令、解读其输出,并执行撤销事务等具体操作。


yum history命令是做什么的?

yum history命令让系统管理员可以查看 Yum 事务的历史记录,包括:

  • 各事务的日期和时间。
  • 受影响的软件包数量。
  • 事务是成功还是已中止。
  • 各事务之间 RPM 数据库的变化。
  • 撤销或重做特定事务的能力。

查看 Yum 事务历史

要查看事务历史,请运行以下命令:

sudo yum history

系统会提示你输入密码。验证通过后,你会看到类似下表的内容:

Loaded plugins: langpacks, product-id, search-disabled-repos
ID | Login user   | Date and time    | Action(s)   | Altered
------------------------------------------------------------
48 | System <unset> | 2021-04-14 15:00 | Update     | 10 <
47 | System <unset> | 2021-04-08 09:50 | E, I, U    | 45 >E
46 | Jose ... <jose>| 2021-04-07 15:47 | Install    | 23
45 | Jose ... <jose>| 2021-04-06 08:57 | Install    | 1

输出中的关键列:

  • ID:事务 ID,每个操作都有唯一的 ID。
  • 登录用户:发起事务的用户。
  • 日期和时间:事务发生的时间。
  • 操作:执行的操作类型,例如Install、Update或Erase。
  • 已更改:受该事务影响的软件包数量。

查看特定事务的详细信息

要获取特定事务的更多详情,请将其事务 ID 与以下命令一起使用:

sudo yum history info <Transaction ID>

例如,要查看事务 ID 41 的详情:

sudo yum history info 41

这将输出该事务的详细信息,例如:

Transaction ID : 41
Begin time     : Wed Mar 24 16:01:29 2021
End time       : 16:01:30 2021 (1 seconds)
User           : Jose Andres Navarro Varela <jose>
Command Line   : -y install openvpn
Transaction performed with:
    Installed rpm-4.11.3-45.el7.x86_64 @RHEL-79-x86_64
    Installed yum-3.4.3-168.el7.noarch @RHEL-79-x86_64
Packages Altered:
    Install openvpn-2.4.10-1.el7.x86_64 @epel
    Dep-Install pkcs11-helper-1.11-3.el7.x86_64 @epel
Return-Code : Success

这些信息可以清楚地显示该事务期间安装或更新了哪些内容。


撤销事务

如果需要撤销某个特定事务,可以使用以下命令:

sudo yum history undo <Transaction ID>

例如,要撤销事务 ID 41:

sudo yum history undo 41

这将还原该事务期间所做的更改。请注意,某些事务可能无法完全还原,尤其是当后续事务依赖于它们时。


实际用例:yum history

  • 排查软件包问题:确定有问题的软件包是何时安装或更新的。
  • 审计更改:跟踪谁在何时对系统做了更改。
  • 回滚更新:撤销失败或不必要的更新。
  • 软件包依赖关系管理:了解事务期间安装或删除的依赖关系。

其他资源

如需了解更多信息,请参阅官方 Yum 文档:


结论

yum history命令是管理 Linux 系统上软件包安装与更新并进行故障排查的重要工具。利用其功能,你可以更好地掌控系统的软件包管理,并确保整个环境的稳定性。

发表评论