由于 Yum 中许多长期存在的问题仍未得到解决,因此 Yum 包管理器已被 DNF 包管理器取代。这些问题包括性能差、内存占用过多、依赖解析速度变慢等。
DNF 使用 libsolv
进行依赖解析,由 SUSE 开发和维护,旨在提高性能。
Yum 主要是用 Python 编写的,它有自己的应对依赖解析的方法。它的 API 没有完整的文档,它的扩展系统只允许 Python 插件。
Yum 是 RPM 的前端工具,它管理依赖关系和资源库,然后使用 RPM 来安装、下载和删除包。
为什么他们要建立一个新的工具,而不是修复现有的问题呢?
Ales Kozamblak 解释说,这个修复在技术上是不可行的,而且 Yum 团队还没有准备好立即接受修改。
另外,最大的挑战是,Yum 有 56000 行代码,但 DNF 只有 29000 行代码。
所以除了分叉,没有办法解决。
不过 Yum 的运行情况还算可以。