– 查看所有的 DNF 命令及其用途
用处:该命令用于列出所有的 DNF 命令及其用途
命令:# dnf help
– 查看 DNF 命令的执行历史
用处:您可以使用该命令来查看您系统上 DNF 命令的执行历史。通过这个手段您可以知道在自您使用 DNF 开始有什么软件被安装和卸载。
命令:# dnf history
– 查看所有的软件包组
用处:该命令用于列出所有的软件包组
命令:# dnf grouplist
– 安装一个软件包组
用处:该命令用于安装一个软件包组(本例中,我们将用命令安装”Educational Software”这个软件包组)
命令:# dnf groupinstall ‘Educational Software’
– 升级一个软件包组中的软件包
用处:该命令用于升级一个软件包组中的软件包(本例中,我们将用命令升级”Educational Software”这个软件包组中的软件)
命令:# dnf groupupdate ‘Educational Software’
– 删除一个软件包组
用处:该命令用于删除一个软件包组(本例中,我们将用命令删除”Educational Software”这个软件包组)
命令:# dnf groupremove ‘Educational Software’
– 从特定的软件包库安装特定的软件
用处:该命令用于从特定的软件包库安装特定的软件(本例中我们将使用命令从软件包库 epel 中安装 phpmyadmin 软件包)
命令:# dnf –enablerepo=epel install phpmyadmin
– 更新软件包到最新的稳定发行版
用处:该命令可以通过所有可用的软件源将已经安装的所有软件包更新到最新的稳定发行版
命令:# dnf distro-sync
– 重新安装特定软件包
用处:该命令用于重新安装特定软件包(本例中,我们将使用命令重新安装”nano”这个软件包)
命令:# dnf reinstall nano
– 回滚某个特定软件的版本
用处:该命令用于降低特定软件包的版本(如果可能的话)(本例中,我们将使用命令降低”acpid”这个软件包的版本)
命令:# dnf downgrade acpid
样例输出:
Using metadata from Wed May 20 12:44:59 2015
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.
原作者注:在执行这条命令的时候, DNF 并没有按照我期望的那样降级指定的软件(“acpid”)。该问题已经上报。
总结
DNF 包管理器作为 YUM 包管理器的升级替代品,它能自动完成更多的操作。但在我看来,正因如此,所以 DNF 包管理器不会太受那些经验老道的 Linux 系统管理者的欢迎。举例如下:
在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择。
在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令。
在 DNF 中没有用来列出某个软件依赖包的 deplist 命令。
当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用。
我相信几乎所有的 Linux 用户都会很高兴看到 Linux 生态圈不断地发展壮大。先是 systemd 代替了源于 System V 的 init ,而如今, DNF 包管理器已经在 22 上替代了 YUM 包管理器,并且很快它也将登陆 RHEL 和 。
此时此刻的你将作何感想?难道这整一个 Linux 生态圈已经变得不重视它的用户们,并且往与用户期望完全相反的方向发展了么?现在,没有任何问题的 System V 和 YUM 被迫淡出历史舞台,这让我不禁想起 IT 从业者的一句老话“为何要修复没有损坏的东西?(Why fix, If not broken?)”。
现在,这篇文章结束了。我们真诚的期盼您能在下面的评论区留下您的宝贵意见和想法。如果你觉得这篇文章不错的话,那就点个赞吧~
本文永久更新链接地址: