YUM已死,DNF万岁

自Fedora22版本后,DNF(Dandified YUM)成为Fedora默认的包管理工具。在过渡期内用户仍然可以使用YUM来安装删除软件。但当用户使用YUM来安装软件时,Fedora首先会提示用户YUM已经过时了,推荐用户使用DNF,然后继续安装软件。

yum已死

为什么要舍弃Yum?

有三个主要原因:

  • Yum没有API文档。这意味着开发者需要做更多的工作。Yum开发者写一个调用函数都需要查看Yum的代码库,使开发变得缓慢。
  • Python3。Fedora将会过渡到Python3,但Yum却没有这个能力,而DNF既可以使用Python2,也可以在Python3环境下运行。
  • 依赖解决能力长期是Fedora软件包管理的阿喀硫斯之踵。DNF使用基于SAT的依赖问题解决方法,与SUSE和OpenSUSE的Zypper类似。

简单地说,Yum已经过时了。

为什么这是一件好事?

我们得从两个不同的角度来看待这个问题:最终用户和开发者。如果你是最终用户,DNF可以为你提供更加稳定的体验,因为DNF可以更好地解决依赖问题。DNF可以自动为你安装好依赖,而不需要你手动安装。用户在使用DNF安装软件时,也会发现内存使用量没有像Yum那样高。软件安装和升级可以更加迅速地完成。尤为重要的一点是,Yum在升级软件的时候变得越来越慢,与apt-get和zypper相比更是如此。如果你是一个开发者,DNF可以让你更加高效地工作,因为DNF有API文档。

如何使用DNF?

DNF的语法与Yum几乎一样,例如,使用DNF安装control-center的命令为

sudo dnf install control-center

删除control-center的命令为

sudo dnf remove control-center

升级软件

sudo dnf update

升级系统

sudo dnf upgrade

清除RPM包缓存

sudo dnf clean packages

输入命令man dnf查看完整的用法。

RHEL/CentOS/Scientific Linux用户需要先安装DNF

yum install epel-release
yum install dnf
为这篇文章评分
[Total: 14 Average: 3.2]

发表评论

电子邮件地址不会被公开。 必填项已用*标注