在 Linux 中使用 yum(CentOS/RHEL 6/7) 回滚软件包,通常有几种方式,取决于你使用的是 yum 历史记录 还是 yum 版本锁定。下面按常见场景说明。
yum history(推荐方式)yum 会记录每一次安装、更新、删除操作。
yum history
或查看更详细:
yum history list
示例输出:
ID | Command line | Date | Action | Altered
------------------------------------------------
10 | update | ... | Update | 15
9 | install nginx| ... | Install| 3
yum history info 10
yum history undo 10
yum history rollback 9
表示回滚到 ID 9 之前的状态
yum history redo 10
⚠️ 注意:
如果知道包名和版本:
yum downgrade 包名-旧版本
示例:
yum downgrade httpd-2.4.6-90.el7
或一次降多个:
yum downgrade pkg1 pkg2
yum versionlock(防止再次升级)回滚后防止被再次更新:
yum install yum-plugin-versionlock
yum versionlock 包名
查看锁定:
yum versionlock list
解除锁定:
yum versionlock delete 包名
可能原因:
解决:
downgradecentos-vault)CentOS 8 使用 dnf,命令类似:
dnf history undo <ID>
| 目的 | 命令 |
|---|---|
| 查看历史 | yum history |
| 回滚操作 | yum history undo ID |
| 回滚到某点 | yum history rollback ID |
| 降级包 | yum downgrade pkg |
| 锁定版本 | yum versionlock pkg |
如果你能贴出 具体 yum history 输出或想回滚的包名,我可以帮你写精确命令。