Fedora 39 将迁移至 DNF5,不再包含 Python 组件

红帽公司 Fedora 项目经理 Ben Cotton 宣布,他打算将 Fedora Linux 默认切换为 DNF5 软件包管理器。 Fedora Linux 39 计划用 DNF5 工具包和新的 libdnf5 库替换 dnf、libdnf 和 dnf-cutomatic 软件包。 该提案尚未得到 FESCo(Fedora 工程指导委员会)的考虑,该委员会负责 Fedora 发行版开发的技术部分。

一度,DNF 取代了完全用 Python 编写的 Yum。 在 DNF 中,性能密集型低级函数被重写并移至单独的 C 库 Hawkey、librepo、libsolv 和 libcomps 中,但框架和高级组件仍保留在 Python 中。 DNF5 项目旨在统一现有的低级库,用 C++ 重写 Python 中的剩余包管理组件,并将基本功能转移到一个单独的 libdnf5 库中,并围绕该库创建一个包装器以保存 Python API。

使用C++代替Python将消除大量依赖关系,减少工具包的大小,并提高性能。 更高的性能不仅通过使用编译为机器代码来实现,还通过改进事务表的实现、优化从存储库加载和数据库重组(系统状态和操作历史的数据库分离)来实现。 DNF5 工具包与 PackageKit 分离,转而采用名为 DNF Daemon 的新后台进程,该进程取代了 PackageKit 功能,并提供了用于在图形环境中管理包和更新的界面。

返工还将提供实施一些改进的机会,以提高包管理器的可用性。 例如,新的DNF提供了更加直观的操作进度指示; 添加了对使用本地 RPM 包进行事务的支持; 添加了在报告中显示由包中内置脚本生成的已完成交易信息的功能; 已经提出了一种更先进的 bash 输入补全系统。

来源: opennet.ru

添加评论