yum
和 dnf
都是 Linux 系统中用于管理软件包的命令行工具,主要用于基于 RPM 包管理的发行版(如 CentOS、Fedora、RHEL 等)。以下是它们的详细介绍及对比:
1. 基本概念
- RPM:Red Hat Package Manager,是一种软件包格式,类似于 Windows 的
.exe
安装包。 - yum(Yellowdog Updater, Modified):基于 RPM 的高级包管理器,提供依赖解析、自动安装等功能。
- dnf(Dandified YUM):yum 的下一代替代品,性能更好、依赖解析更智能,从 Fedora 22 开始取代 yum。
2. 命令语法对比
两者语法高度相似,大多数场景下可直接替换:
安装软件包
# yum
yum install <package-name> # 安装指定软件包
yum groupinstall <group-name> # 安装软件包组(如"Development Tools")
# dnf(完全兼容yum语法)
dnf install <package-name>
dnf groupinstall <group-name>
更新软件包
# 检查可用更新
yum check-update # yum
dnf check-update # dnf
# 更新所有软件包
yum update # yum
dnf update # dnf
# 更新指定软件包
yum update