温馨提示×

yum如何降级软件

小樊
73
2026-08-06 04:31:10
栏目: 编程语言

CentOS / RHEL / Rocky / AlmaLinux 等使用 yum(或 dnf) 的系统中,降级软件包有几种常见方式。下面按最常用 → 进阶给你说明。


一、查看可用版本(非常重要)

先确认仓库里是否有旧版本:

yum --showduplicates list 软件名

例如:

yum --showduplicates list nginx

输出类似:

nginx-1.20.2-1.el7
nginx-1.22.1-1.el7

二、使用 yum downgrade(最简单)

如果 当前已安装版本比仓库中的新,可以直接降级:

yum downgrade 软件名

示例:

yum downgrade nginx

✅ 适合:仓库中只有一个旧版本,且依赖关系简单


三、降级到指定版本(推荐 ✅)

yum downgrade 软件名-版本号

示例:

yum downgrade nginx-1.20.2-1.el7

如果依赖包也需要一起降级:

yum downgrade nginx-1.20.2-1.el7 nginx-mod-1.20.2-1.el7

四、同时指定多个包(解决依赖问题)

有时降级会失败,是因为依赖包版本不匹配:

yum downgrade 包1 包2 包3

例如:

yum downgrade openssl-libs-1.1.1k openssl-1.1.1k

五、使用 yum history(回滚到之前状态 ✅)

如果你刚升级完,这是最安全的方法。

1️⃣ 查看历史

yum history

2️⃣ 回滚指定事务

yum history undo 事务ID

示例:

yum history undo 12

✅ 优点:完整回滚升级操作
❌ 缺点:只能回滚最近的 yum 操作


六、防止再次被升级(锁定版本)

降级后,避免被 yum update 再次升级:

方法 1:yum versionlock

yum install yum-plugin-versionlock
yum versionlock 软件名

锁定指定版本:

yum versionlock add 软件名-版本号

查看锁定:

yum versionlock list

取消锁定:

yum versionlock delete 软件名

七、常见问题

❓ 提示找不到旧版本

可能是:

  • 仓库里没有旧版本
  • 旧版本被清理了

解决:

  • 启用旧仓库
  • 手动下载 rpm 包:
yum install ./xxx.rpm

八、CentOS 8 / Rocky / Alma(dnf 用户)

dnfyum 用法几乎一致:

dnf downgrade 软件名
dnf history undo ID

总结(推荐顺序)

首选

yum downgrade 软件名-版本号

刚升级完

yum history undo ID

防止再升级

yum versionlock

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

  • 系统版本(CentOS 7 / 8 / Rocky / Alma)
  • 要降级的具体软件

我可以给你精确命令

0