Fedora 計劃以 Microdnf 取代 DNF 套件管理器

Fedora Linux 開發人員打算將發行版轉移到新的 Microdnf 套件管理器,而不是目前使用的 DNF。 遷移的第一步將是計劃在 Fedora Linux 38 發佈時對 Microdnf 進行重大更新,它將在功能上接近 DNF,甚至在某些方面超越它。 值得注意的是,新版本的Microdnf將支援DNF的所有基本功能,但同時保持高性能和緊湊性。

Microdnf和DNF的關鍵區別在於使用C語言進行開發,而不是Python,這可以讓你擺脫大量的依賴。 Microdnf 最初是作為 DNF 的精簡版本開發的,用於 Docker 容器,不需要安裝 Python。 現在Fedora開發者計劃將Microdnf提升到DNF的水平,並最終用Microdnf完全取代DNF。

Microdnf 的基礎是 libdnf5 庫,作為 DNF 5 專案的一部分開發。DNF 5 的主要思想是用 C++ 重寫基本的套件管理操作,並將它們移動到單獨的庫中,並圍繞此創建一個包裝器保存Python API 的函式庫。

新版本的 Microdnf 也將使用背景 DNF Daemon 進程,取代 PackageKit 功能,並提供在圖形環境中管理軟體套件和更新的介面。 與 PackageKit 不同,DNF Daemon 僅提供對 RPM 格式的支援。

第一階段實施的Microdnf、libdnf5和DNF Daemon計劃與傳統DNF工具包並行交付。 專案完成後,新套裝組合將取代 dnf、python3-dnf、python3-hawkey、libdnf、dnfdragora 和 python3-dnfdaemon 等軟體包。

Microdnf 優於 DNF 的領域包括: 更直觀地指示操作進度; 改進了事務表的實作; 能夠在報表中顯示由包中內建的腳本產生的已完成交易資訊; 支援使用本地RPM包進行交易; 更先進的 bash 輸入補全系統; 支援執行 builddep 命令,而無需在系統上安裝 Python。

將發行版切換到 Microdnf 的缺點之一是內部資料庫結構發生變化,並將資料庫處理與 DNF 分開,這將不允許 Microdnf 看到在 DNF 中執行的套件的交易,反之亦然。 此外,Microdnf 不打算在命令和命令列選項層面保持 DNF 中 100% 的兼容性。 行為上也會出現一些差異。 例如,刪除套件不會刪除其他套件未使用的關聯依賴項。

來源: opennet.ru

添加評論