Linux命令之dnf
dnf [选项] [命令] [包]
dnf是新一代的RPM软件包管理器,首先出现在 Fedora 18 这个发行版中。它克服了YUM包管理器的一些瓶颈,提升了包括用户体验、内存占用、依赖分析、运行速度等多方面的内容。使用 RPM、 libsolv 和 hawkey 库进行包管理操作。
(1).常用选项
-h 显示帮助信息(基本每个命令不是-h就是--help) -c 配置文件路径 -R 设置命令最长等待时间 -q 安静的操作 -v 详细的操作 -y 回答所有问题都为”yes”
(2).常用命令
check-update 检查是否有软件包更新 clean 清除缓存数据 remove 移除一个或多个软件包 deplist 列出软件包的依赖关系 info 显示关于软件包或组的详细信息 install 安装一个或多个软件包 list 列出一个或一组软件包 provides 查看指定内容的所属包 search 关键字搜索软件包 upgrade 更新一个或多个软件包,不改变软件设置和系统设置,系统版本升级,内核不变
注意:dnf update被重定向到了dnf upgrade。
(3).dnf与yum的对比
1)依赖关系解决
dnf:dnf在处理依赖关系方面表现出更强的能力。它能够更高效地解析和安装软件包之间的依赖关系,确保系统的稳定性和一致性。
yum:yum同样能够处理软件包的依赖关系,但在某些复杂场景下,其依赖关系解析能力可能不如dnf。
2)性能
dnf:dnf在性能上优于yum,主要体现在包查找速度和并行处理能力上。dnf支持并行操作,可以同时下载和安装多个软件包,从而提高了整体的包管理效率。
yum:yum在处理大量软件包时可能会受到网络带宽的限制,且不支持并行操作,这在一定程度上影响了其性能表现。
3)配置文件
dnf:dnf使用以.repo为后缀的配置文件来管理仓库和源信息。
yum:yum同样使用以.repo为后缀的配置文件,但还包含了一个主配置文件/etc/yum.conf,用于设置全局的yum配置选项。
4)用户界面
dnf:dnf的输出信息更加清晰明了,提供了更多的终端输出信息,使得用户更容易理解和管理软件包。
yum:yum的输出信息虽然也足够清晰,但在某些方面可能不如dnf直观。
5)兼容性
dnf:dnf是在CentOS 8及更高版本中取代了yum作为默认包管理工具的。因此,在较新的Linux发行版中,dnf的兼容性更好。
yum:yum在旧版本的Linux发行版中广泛使用,如CentOS 7及之前的版本。对于这些系统,yum仍然是主要的包管理工具。
6)功能扩展性
dnf:dnf提供了更多的功能扩展性,支持插件系统。用户可以根据自己的需求编写插件来扩展dnf的功能,使其更加灵活和强大。
yum:yum的功能相对较为有限,主要侧重于基本的包管理操作。虽然yum也支持一些扩展功能,但整体上不如dnf灵活。
综上所述,dnf和yum在依赖关系解决、性能、配置文件、用户界面、兼容性和功能扩展性等方面存在明显的区别。用户可以根据自己的需求和偏好选择合适的包管理工具。对于新版本的Centos8发行版,推荐使用dnf作为默认的包管理工具;而对于旧版本的系统,yum仍然是一个可靠的选择。
参考:
https://blog.csdn.net/m0_63145562/article/details/142307259