温馨提示×

为什么Linux yum被弃用

小樊
45
2026-08-21 14:29:03
栏目: 智能运维

Linux 中 yum(Yellowdog Updater, Modified)被“弃用”,并不是一夜之间消失,而是因为 它已被更现代、更高效的包管理工具取代,在主流 RHEL 系发行版中逐步退出历史舞台。主要原因和演变过程如下:


一、为什么 yum 被弃用?

1. 性能差、架构老旧

yum 的缺点主要包括:

  • 依赖解析慢:使用 Python 实现,依赖计算复杂且耗时
  • 内存占用高
  • 插件系统复杂、可维护性差
  • 事务回滚能力有限
  • 无法很好地支持模块化软件(modules)

随着系统规模和软件复杂度增加,yum 越来越难以满足需求。


2. Red Hat 推出了“下一代 yum”:dnf

Red Hat 从 Fedora 开始研发 DNF(Dandified YUM),作为 yum 的继任者:

对比项 yum dnf
语言 Python Python(但架构更清晰)
依赖解析 慢、易死锁 快、稳定
性能 明显提升
模块化支持 原生支持
事务历史
API 混乱 清晰
官方态度 已弃用 推荐

dnf 在几乎所有方面都优于 yum


二、yum 在哪些系统中被弃用?

✅ 已被弃用 / 替代的系统

发行版 变化
RHEL 8+ 默认使用 dnf,yum 只是 dnf 的兼容软链接
CentOS 8+ 同 RHEL 8
Fedora 22+ 完全使用 dnf
AlmaLinux / Rocky Linux 8+ 同 RHEL 8
which yum
/usr/bin/yum   # 实际指向 dnf

⚠️ 仍在使用 yum 的系统(旧系统)

系统 说明
CentOS 7 默认 yum
RHEL 7 默认 yum
老版本 Amazon Linux yum

这些系统 已进入 EOL(生命周期结束)或即将结束


三、现在还能用 yum 吗?

可以,但只是“兼容壳”

在 RHEL 8+ / CentOS 8+ 中:

yum install nginx

实际上执行的是:

dnf install nginx

所以:

  • 命令还能用
  • 底层已经是 dnf
  • 不建议再写新脚本依赖 yum

四、为什么不推荐继续使用 yum?

  1. 官方文档已全面转向 dnf
  2. 新特性(modules、streams)yum 不支持
  3. 未来某些系统可能彻底移除 yum 兼容层
  4. 自动化、CI/CD 中依赖 yum 可能带来隐患

五、从 yum 迁移到 dnf 非常简单

常用命令对照

yum dnf
yum install dnf install
yum remove dnf remove
yum update dnf upgrade
yum search dnf search
yum history dnf history

几乎 1:1 替换


六、一句话总结

yum 被弃用,是因为它太老、太慢、架构落后;
dnf 是它的现代化替代品,并在 RHEL 8+ 中已成为事实标准。

如果你愿意,我可以:

  • 帮你 把旧 yum 脚本改成 dnf
  • 解释 dnf module 是什么
  • 对比 apt / yum / dnf / zypper 的区别

0