在 Fedora 39 中,他们计划迁移到 DNF5,将 Python 组件放在一边

Fedora 39 带有新的 DNF5 打包工具

DNF5 应该改善用户体验并提供更好的性能

Ben Cotton,Fedora 项目经理 在红帽, Anunció 最近在邮件列表中, 你打算迁移 Fedora 给包装经理 地下城5 默认。

提到计划中的变化 将从 Fedora 39 发布开始生效, 更改计划用 DNF5 工具包和新的 libdnf5 库替换 dnf、libdnf 和 dnf-cutomatic 包。

关于变化,值得一提的是 当时 DNF 取代了 Yum,它完全用 Python 编写。

对于那些不了解 DNF 的人, 他们应该知道这 是一个软件包管理器 它在 Fedora 中安装、更新和删除软件包,是 YUM(Yellow-Dog Updater Modified)的继承者。 DNF 便于包装维护 通过自动检查依赖关系并确定安装软件包所需的操作。 此方法无需使用 rpm 命令手动安装或更新包及其依赖项。 DNF 现在是 Fedora 中默认的软件包管理工具。

在 DNF 中,重写了对性能要求高的低级函数 并转移到单独的 C 库 hawkey、librepo、libsolv 和 libcomps,但框架和高级组件仍保留在 Python 中。

DNF5 将显着改善用户体验和性能。 替换是更新 Fedora 软件管理堆栈的第二步。 如果不进行更改,将有多个基于不同库(libdnf、libdnf5)的软件管理工具(DNF5、旧 Microdnf、PackageKit 和 DNF),提供不同的行为并且不共享历史记录。 我们也可以预期 DNF 只能获得有限的上游支持。

萨尔瓦多PROYECTO DNF5 旨在统一现有的低级库,用 C++ 重写 包管理组件保留在 Python 中,并将核心功能移动到单独的 libdnf5 库,方法是围绕该库创建一个链接以保留 Python API。

DNF5 仍在开发中,某些功能或选项尚不可用。 我们仍然需要完成模块化的实现,与系统历史和状态相关的内部数据的存储,以及文档和手册页。 DNF5 可以通过每晚上游构建的存储库进行测试:d` 不应该是用户可写的,并且其格式不充分(缺少有关已安装包和已安装配置文件的信息)

使用 C++ 代替 Python 将删除许多依赖项,减少大小 工具集并提高性能。 更高的性能不仅可以通过编译机器码来实现,还可以通过改进的事务表实现、从存储库加载的优化以及数据库重组(将数据库与系统状态和操作历史分开)来实现。

地下城5 已从 PackageKit 中解耦,支持 一个新的后台进程 DNF 守护进程 它取代了 PackageKit 的功能,并提供了一个用于在图形环境中管理包和更新的界面。

也返工 它将允许对包管理器的可用性进行一些改进。 例如,新的 DNF 对操作进度有更直观的指示; 添加了对使用本地 RPM 包进行事务的支持; 添加了在报告中显示打包的小脚本(scriptlet)发布的已完成交易信息的能力; 为 bash 提出了一个更高级的输入完成系统。

值得一提的是 该提案尚未经过 FESCo 审核 (Fedora 工程指导委员会),它负责开发 Fedora 发行版的技术部分。

最后 如果您有兴趣了解更多信息, 您可以在中查看详细信息 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。