yum查看历史操作
在 Red Hat/CentOS 系统中,可以使用 yum history
命令查看和管理 YUM/DNF 的历史操作记录。以下是详细使用方法:
1. 查看完整历史记录
sudo yum history list
# 或简写
sudo yum history
输出示例:
ID | 命令行 | 日期与时间 | 操作 | 变更数
---|------------------------|------------------|------------|--------
5 | install httpd | 2024-03-01 10:00 | Install | 1
4 | update | 2024-02-28 15:30 | Update | 12
3 | remove mariadb | 2024-02-25 09:15 | Erase | 1
2. 查看特定事务的详细信息
sudo yum history info <ID>
示例:
sudo yum history info 5
输出内容:
- 操作的软件包列表
- 事务开始/结束时间
- 影响的软件包数量
- 完整的命令行参数
3. 搜索特定操作
sudo yum history list <关键字>
示例:
sudo yum history list httpd # 查找所有涉及 httpd 的操作
4. 撤销(回滚)历史操作
sudo yum history undo <ID> # 撤销指定事务
sudo yum history undo last # 撤销最近一次操作
示例:
sudo yum history undo 4 # 回滚事务ID为4的操作
5. 重做某个历史操作
sudo yum history redo <ID>
适用场景:
例如,误撤销了某个安装操作后恢复。
6. 清理历史记录
sudo yum history new # 重置历史记录(新建一个空记录)
sudo yum history sync # 同步元数据到历史数据库
关键字段说明
字段 | 说明 |
---|---|
ID | 事务的唯一标识符 |
操作 | Install/Update/Erase/Depclean |
变更数 | 影响的软件包数量 |
注意事项
- 需要 root 权限:所有操作需加
sudo
。 - 依赖关系:回滚时可能因依赖变化失败,需手动解决。
- 仅限 YUM/DNF:
rpm
直接安装的包不会被记录。 - 历史存储位置:数据库文件通常在
/var/lib/yum/history/
。
示例工作流
- 发现最近更新的包导致问题:
sudo yum history | head -n 5 # 查看最近5条记录
- 确认问题事务:
sudo yum history info 6
- 回滚操作:
sudo yum history undo 6
通过 yum history
,您可以高效管理系统变更,快速定位和修复问题。