dnf是新一代的rpm软件包管理器。首次出现在 Fedora 18 这个发行版中。而最近,它取代了yum,正式成为 Fedora 22 的包管理器。

dnf包管理器克服了yum包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。dnf使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用yum的同时使用dnf 。

当然dnf也不是完美的,例如:在dnf中没有 –skip-broken 命令,并且没有替代命令供选择。 没有判断哪个包提供了指定依赖的 resolvedep 命令,没有用来列出某个软件依赖包的 deplist 命令等等。

语法格式: dnf [参数]

常用参数:

repolist 显示系统中可用的 DNF 软件库
list 列出用户系统上的所有来自软件库的可用软件包和所有已经安装在系统上的软件包
search <包名>搜索软件库中的软件包
provides <路径>查找某一文件的提供者
info <包名> 查看软件包详情
install <包名>安装软件包
update <包名> 升级软件包
check-update检查系统软件包的更新
update升级所有系统软件包
remove删除软件包
autoremove 删除无用孤立的软件包
clean all删除缓存的无用软件包
help <命令名>获取有关某条命令的使用帮助
help查看所有的dnf命令及其用途
history查看dnf命令的执行历史
grouplist查看所有的软件包组
groupinstall <软件包组名称>安装一个软件包组
groupupdate <软件包组名称> 升级一个软件包组中的软件包
groupremove <软件包组名称> 删除一个软件包组
distro-sync更新软件包到最新的稳定发行版
reinstall <包名> 重新安装特定软件包
downgrade <包名> 回滚某个特定软件的版本
–version查看 DNF 包管理器版本

参考实例

回滚acpid软件包到特定版本:

[root@linuxcool ~]# dnf downgrade acpid

重新安装特定软件包:

[root@linuxcool ~]# dnf reinstall nano

查看所有的软件包组:

[root@linuxcool ~]# dnf grouplist
Author