Introduction :
dnf 是一个软件包管理器,它在基于RPM的Linux发行版上可以安装、更新和删除包。它自动计算依赖并确定安装包所需的操作。dnf 还使维护机器组变得更容易,无需使用rpm手动更新每个机器组。自fedora18中引入,在Fedora 22 中代替yum成为默认的包管理器.
Features :
- 支持多个存储库
- 配置简单
- 更快,更少内存占用的操作 等等
安装 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 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 包管理器不会太受那些经验老道的 Linux 系统管理者的欢迎。举例如下:
在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择.
在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令。
在 DNF 中没有用来列出某个软件依赖包的 deplist 命令。
当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用。
参考:
https://ipcmen.com/dnf
https://fedoraproject.org/wiki/DNF?rd=Dnf