分类: Linux
DNF 包管理器

dnf是一个软件包管理器,它在基于RPM的Linux发行版上可以安装、更新和删除包。它自动计算依赖并确定安装包所需的操作。
dnf还使维护机器组变得更容易,无需使用rpm手动更新每个机器组。自fedora18中引入,在Fedora 22 中代替yum成为默认的包管理器.
安装 dnf
DNF 并未默认安装在 RHEL 或 CentOS 7系统中
为了安装 dnf ,必须先安装并启用 epel-release 依赖

yum install epel-release

使用 epel-release 依赖中的 YUM 命令来安装 dnf 包

yum install dnf

常见的 dnf 命令介绍
查看 dnf 版本

dnf --version

查看系统中可用的 dnf 软件库

dnf repolist

查看系统中可用和不可用的软件库

dnf repolist all

列出所有RPM包

dnf list

列出已经安装的RPM包

dnf list installed

列出可供安装的RPM包

dnf list available

搜索某包 (以搜索nginx为例)

dnf search nginx

查看某包的详情

dnf info nginx

安装包

dnf install nginx

查看dnf命令的执行历史

dnf history

查看dnf命令的执行历史

dnf history

查看所有的软件包组

dnf grouplist

安装一个软件包组

dnf groupinstall <软件包组名称>

升级一个软件包组中的软件包

dnf groupupdate <软件包组名称>

删除一个软件包组

dnf groupremove <软件包组名称>

更新软件包到最新的稳定发行版

dnf distro-sync <软件包组名称>

重新安装特定软件包

dnf reinstall <包名>

回滚某个特定软件的版本

dnf downgrade <包名>

升级包

dnf update nginx

检查系统软件包更新

dnf check-update

升级系统中所有软件包

dnf update OR dnf upgrade

删除包

dnf remove nginx OR dnf erase nginx

删除无用孤立的软件包

dnf autoremove

删除缓存的无用软件包

dnf clean all

获取有关某条命令的使用帮助

dnf help clean

重新安装特定软件包

dnf reinstall nginx

回滚某个特定软件的版本

dnf downgrade nginx

总结
DNF 包管理器作为 YUM 包管理器的升级替代品,它能自动完成更多的操作。DNF有以下不足:

在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择.
在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令。
在 DNF 中没有用来列出某个软件依赖包的 deplist 命令。

当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用。

发表新评论