yum history 仅支持按事务回滚,不能全系统回滚;先用 yum history 列出事务ID,再用 yum history info [ID] 查详情,最后用 yum history undo [ID] 撤销指定安装/卸载操作,自动卸载新包或恢复旧版本。

Yum history 可以查看、撤销或重做某次安装/卸载操作,但不能直接“回滚整个系统”,它只针对 yum 执行过的事务进行精确还原。
查看历史操作记录
运行 yum history 列出所有事务编号、时间、操作类型和简要描述。每条记录对应一次 yum install、yum remove 或 yum update 等完整事务。
想看某次操作详情(比如安装了哪些包、卸载了哪些包),用:
yum history info [ID],其中 ID 是事务编号。
撤销某次安装操作
如果某次 yum install 引入了问题,可用 yum history undo [ID] 回退该事务——yum 会自动卸载那次安装的所有新包,并尝试恢复被覆盖或升级的旧版本包(前提是原版本包仍在本地缓存或仓库中可获取)。
- undo 不影响其他事务,只逆转指定 ID 的变更
- 若事务包含升级,undo 后可能降级到之前版本
- 若依赖冲突导致无法卸载,命令会报错并提示原因
重做某次卸载操作
误删了关键包?用 yum history redo [ID] 可重新执行该事务。例如,之前执行过 yum remove nginx,redo 就会再次运行这个移除命令(不是重装,注意区别)。
真正想恢复被删的软件,应配合 yum history undo 或直接 yum install nginx。redo 主要用于重复执行某次变更,适用于批量测试或脚本复现场景。
清理无效历史记录
长期使用后 history 记录可能过多,用 yum history sync 可同步本地记录与当前 RPM 数据库状态;yum history new 能新建一个干净的历史起点(慎用,会丢弃旧记录)。
日常建议定期运行 yum history list 快速扫一眼最近操作,尤其在重大更新前记下当前 ID,便于后续快速定位和回退。


















