Yum 已死,DNF 代之

Yum 已死,DNF 代之

2015年5月19日2 次浏览来源:Linux中国阅读原文

也许你会惊奇在新安装的 Fedroa 22中没有找到 yum 包,也不明白为何在调用 /usr/bin/yum 或使用各种 Yum 插件时会得到警告。嗯,你看到的没错,Yum 已经去了~。直白的说, DNF 现在是 Fedora 上默认是包管理器了。

DNF 由 Yum 中分支出来,采用了基于 SAT 的依赖解决算法,目标是在 Fedora 22中取代 Yum。随着 DNF 1.0 的发布,已经到了取而代之的时候了。Yum 无法适应倡导“默认即 Python 3”理念的 Fedora ,而 DNF 则可以同时支持 Python 2 和 Python 3。 DNF 按照相同的语义逻辑保留了命令行接口的一致。幸运的是,DNF 的 Python API 是完全不同于 Yum 的。这两个项目之间的所有已知的不兼容都已经记录在案了。在 Fedora Core 22 中只有 DNF,官方不会提供 Yum 了。当然,如果你愿意,可以自己下载它。这个包仍然可以如同以往一样调用, Python API 也没变化,只是 yum 程序的名称被改名为 yum-deprecated 了,而且从命令行调用 yum 会被重定向到 DNF。这样,你就可以在系统上同时维持 Yum 和 DNF 了。

启动 DNF 项目的原因是由于 Yum 的三大问题:API 缺乏文档、有问题的依赖解决算法,及无法重构内部函数。这里提到的最后一个问题,其实和文档的缺乏有关。Yum 插件使用的各种方法来源于 Yum 的代码,一旦改变有可能造成 Yum 的突然崩溃!DNF 致力于解决这些 Yum 的问题,从一开始,所有对外的 API 的要做好完备的文档。在绝大多数新提交中都包含了测试单元。不允许各种奇怪的、乱七八糟的补丁。该项目是通过敏捷开发进行的:对用户会有较大影响的需求会得到尽快的实现。

现在,DNF 团队正在移植各种流行的 Yum 插件到 DNF 上,并改进其用户体验。为了更加方便切换到 DNF,我们开发了一个 DNF 移植插件,来将 Yum 中已经安装的包、分组和事务数据导入到新的 Fedora 包管理器中。赶快转移到 DNF 吧,希望你喜欢!

Jan Silhan, by DNF team

分享
Baike.dev

baike.dev helps you discover great languages, frameworks, databases, DevOps and cloud-native tools.

Quick links

About

Contribute

Found a great developer tool? Share it with the community.

Submit a tool
© 2026 baike.dev Developer EncyclopediaUpdated daily · Discover great developer tools