命令简介
DNF (Dandified Yum) 是新一代的 RPM 软件包管理器。
DNF 包管理器克服了 YUM 包管理器的一些瓶颈,晋升了包含用户体验,内存占用,依赖剖析,运行速度等多方面的内容。DNF 应用 RPM, libsolv 和 hawkey 库进行包治理操作,Fedora22 曾经默认应用 DNF。
[root@centos7 ~]# dnf
-bash: dnf: command not found
#CentOS 装置
#装置 epel-release 依赖:[root@centos7 ~]# yum install epel-release
#装置 DNF 包:[root@centos7 ~]# yum install dnf
配置文件所在目录:/etc/dnf/dnf.conf
为什么要舍弃 Yum 而用 DNF?
有三个次要起因:
- Yum 没有 API 文档。这意味着开发者须要做更多的工作。Yum 开发者写一个调用函数都须要查看 Yum 的代码库,使开发变得迟缓。
- Fedora 将会过渡到 Python3,但 Yum 却没有这个能力,而 DNF 既能够应用 Python2,也能够在 Python3 环境下运行。
- 依赖解决能力长期是 Fedora 软件包治理的阿喀硫斯之踵。DNF 应用基于 SAT 的依赖问题解决办法,与 SUSE 和 OpenSUSE 的 Zypper 相似。
语法格局
dnf [options] [command] [package ...]
选项阐明
# 与 YUM 根本保持一致,多数用法有区别
--version #查看 DNF 包管理器版本
help #查看所有的 DNF 命令及其用处
help <command> #获取命令的应用帮忙
history #查看 DNF 命令的执行历史
repolist #查看零碎中可用的 DNF 软件库
search <package> #搜寻软件库中的 RPM 包
list installed #列出所有装置的 RPM 包
list available #列出所有可装置的 RPM 包
info <package> #查看软件包详情
provides <file> #查找某一文件的提供者
install <package> #装置软件包及其所需的所有依赖
update <package> #降级软件包
remove <package> #删除软件包
reinstall <package> #重新安装特定软件包
distro-sync #更新软件包到最新的稳固发行版
check-update #查看零碎所有软件包的更新
update #降级所有零碎软件包
clean all #删除缓存的无用软件包
利用举例
DNF 装置、卸载
[root@centos7 ~]# dnf install package
[root@centos7 ~]# dnf remove package
#降级软件
[root@centos7 ~]# dnf update
#降级零碎
[root@centos7 ~]# dnf upgrade
#革除 RPM 包缓存
[root@centos7 ~]# dnf clean packages
查看 dnf 版本:
[root@centos7 ~]# dnf --version
4.0.9
Installed: dnf-0:4.0.9.2-2.el7_9.noarch at Mon 29 Mar 2021 09:58:48 AM EST
Built : CentOS BuildSystem <http://bugs.centos.org> at Wed 07 Apr 2021 03:52:38 PM EST
Installed: rpm-0:4.11.3-43.el7.x86_64 at Thu 20 Aug 2020 02:49:31 PM EST
Built : CentOS BuildSystem <http://bugs.centos.org> at Wed 01 Apr 2020 04:21:52 AM EST