温馨提示×

linux yum怎么回滚

小樊
48
2026-09-18 21:54:02
栏目: 智能运维

在 Linux 中使用 yum( CentOS / RHEL 7 及以前)回滚软件包,常见有几种方式,下面按最常用 → 进阶给你说明。


一、使用 yum history(最推荐 ✅)

yum 会记录每一次安装/更新/卸载操作,可以通过历史记录回滚。

1. 查看 yum 操作历史

yum history

示例输出:

ID  | Command line  | Date
---------------------------------
10  | update        | 2024-01-10
9   | install nginx | 2024-01-09

2. 查看某次操作的详细信息

yum history info 10

3. 回滚到某个历史 ID(常用)

yum history undo 10

这表示“撤销 ID 为 10 的操作”

4. 回滚到某个时间点之前

yum history rollback 9

回滚到 ID 9 之后的所有操作(包括 10)


二、回滚整个系统更新(谨慎 ⚠️)

如果你刚执行了 yum update,可以这样:

yum history undo <update的ID>

或者:

yum history rollback <update之前的ID>

三、只回滚某个软件包

查看包历史

yum history package-list nginx

撤销某个包的最近操作

yum history undo <ID>

四、使用旧版本重新安装(手动回滚)

如果 history 已不可用:

1. 查看可用版本

yum --showduplicates list nginx

2. 安装指定版本

yum install nginx-1.20.1-1.el7

五、注意事项 ⚠️

  1. 必须能联网或有本地仓库
  2. 回滚可能不会自动处理:
    • 配置文件变化
    • 数据库结构变化
  3. 生产环境建议先:
    yum history undo <ID> --assumeno
    
    或加 -y 前先看模拟结果

六、CentOS 8 / Rocky / Alma 用户注意

这些系统用的是 dnf(兼容 yum):

dnf history undo <ID>

如果你愿意,可以告诉我:

  • 系统版本(CentOS 7?8?)
  • 是回滚整个 update 还是某个包
  • 是否生产环境

我可以给你精确命令

0