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 系统上软件包安装与更新并进行故障排查的重要工具。利用其功能,你可以更好地掌控系统的软件包管理,并确保整个环境的稳定性。