Linux 中 yum(Yellowdog Updater, Modified)被“弃用”,并不是一夜之间消失,而是因为 它已被更现代、更高效的包管理工具取代,在主流 RHEL 系发行版中逐步退出历史舞台。主要原因和演变过程如下:
yum 的缺点主要包括:
随着系统规模和软件复杂度增加,yum 越来越难以满足需求。
Red Hat 从 Fedora 开始研发 DNF(Dandified YUM),作为 yum 的继任者:
| 对比项 | yum | dnf |
|---|---|---|
| 语言 | Python | Python(但架构更清晰) |
| 依赖解析 | 慢、易死锁 | 快、稳定 |
| 性能 | 差 | 明显提升 |
| 模块化支持 | 无 | 原生支持 |
| 事务历史 | 弱 | 强 |
| API | 混乱 | 清晰 |
| 官方态度 | 已弃用 | 推荐 |
✅ dnf 在几乎所有方面都优于 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
| 系统 | 说明 |
|---|---|
| CentOS 7 | 默认 yum |
| RHEL 7 | 默认 yum |
| 老版本 Amazon Linux | yum |
这些系统 已进入 EOL(生命周期结束)或即将结束
在 RHEL 8+ / CentOS 8+ 中:
yum install nginx
实际上执行的是:
dnf install nginx
所以:
| 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+ 中已成为事实标准。
如果你愿意,我可以: