
YUM 自 2003 年起成为 Red Hat 系发行版的标准包管理器,基于底层的 RPM(Red Hat Package Manager)系统工作。然而,随着软件生态日益复杂,YUM 在性能、依赖解析算法和内存占用方面逐渐显现出局限性。
为此,Fedora 项目于 2015 年正式引入 DNF 作为 YUM 的现代化替代品。DNF 使用更高效的 libsolv 依赖解析库,具备更快的处理速度、更低的内存消耗和更准确的依赖计算。自 Fedora 22 起,DNF 成为默认包管理器;而 RHEL 8/CentOS 8 及更高版本也全面转向 DNF,尽管命令仍保留为 yum(实际是 DNF 的软链接)。

简言之:在现代系统中,“yum” 很可能就是 DNF,但两者命令语法高度兼容,用户几乎无需改变使用习惯。
基本用法(适用于 yum/dnf)1. 更新软件包列表与系统与 apt 不同,yum/dnf 在执行安装或升级操作时会自动刷新元数据(可配置),但手动更新仍推荐:
sudo dnf check-update# 或 sudo yum check-update
升级所有已安装的软件包:
sudo dnf upgrade # 或 sudo yum update
注:yum update 与 yum upgrade 功能相同;而 dnf upgrade 是标准命令。
2. 安装软件包安装指定软件(如 httpd):
sudo dnf install httpd
支持同时安装多个包:
sudo dnf install git vim wget
DNF 会自动解析并安装所有依赖项,并提示用户确认操作。
3. 删除软件包卸载软件及其依赖(若无其他包依赖):
sudo dnf remove httpd# 或sudo dnf erase httpd4. 搜索与查询
按名称或描述搜索软件包:
dnf search nginx
查看软件包详细信息(版本、大小、描述、依赖等):
dnf info nginx
列出所有已安装的包:
dnf list installed
查看某软件是否已安装:
dnf list installed | grep docker5. 清理缓存
清理下载的 RPM 包缓存(位于 /var/cache/dnf/):
sudo dnf clean all
重建缓存(常用于更换源后):
sudo dnf makecache6. 管理软件仓库
列出启用的仓库:
dnf repolist
临时禁用某仓库安装软件:
sudo dnf --disablerepo=epel install package嘉喜网提示:文章来自网络,不代表本站观点。