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

posted @ 2024-09-25 21:47  苦逼运维  阅读(207)  评论(0编辑  收藏  举报