Fedora的包管理器已從Yum切換到DNF

2021-08-19 12:03:32 字數 1112 閱讀 8748

你想知道為什麼yum包沒有安裝到fedora 22中?為什麼當你呼叫/usr/bin/yum等檔案或任何yum-util外掛程式時有警告?你應該看下右側介面,yum已經被dnf取代,dnf成為了fedora新預設的包管理器。

dnf從yum分支出來,使用專注於效能的c語言庫hawkey進行依賴關係解析工作,大幅度提公升包管理操作效率並降低記憶體消耗,按原先的節奏本應該是fedora 22實現這一替代方案。但隨著dnf 1.0版本的發布,這一刻終於到來。

這樣的激進更新是不可避免的,主要是由於yum不能「python 3 as default」,而dnf支援python 2和python3。(python 3分支自2023年發布以來積極開發了五年,已經成熟和穩定,而目前仍在維護的python 2分支不增加新特性,只接受bug和安全修正,它最早的版本是在2023年發布的。)與此同時,dnf python api和yum是完全不同的,這兩個專案中所有已知的不相容問題也都被記錄。

在fedora 22 core中只有dnf而yum專案正式宣告死亡。

啟動dnf專案的原因是yum的三個陷阱:undocumented api、broken dependency solving algorithm和inability to refactor internal functions。最後被提及的問題是缺少檔案鏈結。yum外掛程式可以在yum**中使用任何method,這會造成yum utility因一些細小變化而突然崩潰。

dnf目標是為了避免yum執行的錯誤。從一開始所有暴露的api都被適當的記錄,且測試幾乎包含了每一次新的提交。這個專案採用了敏捷開發,會提供使用者一些優先順序功能實現。

dnf現在也在極力推進yum遷移至dnf,並改善使用者體驗。為了實現輕鬆遷移,已經將dnf遷移外掛程式匯入了包、組和事務元資料,實現從yum至新的fedora包管理器。

by dnf團隊jan silhan
英文原文:yum is dead, long live dnf

hn的討論:

Linux包管理器

使用 linux 系統總是免不了要接觸包管理工具。比如,debian ubuntu 的 apt opensuse 的 zypp fedora 的 yum mandriva 的 urpmi slackware 的 slackpkg archlinux 的 pacman gentoo 的 emerge ...

Python 包管理器

剛開始學習python時,在看文件和別人的blog介紹安裝包有的用easy install,setuptools,有的使用pip,distribute,那麼這幾個工具有什麼關係呢,看一下下面這個圖就明白了 可以看到distribute是setuptools的取代,pip是easy install的取...

python pip包管理器

pip為包管理器,跟linux上眾多的包管理器的功能大致相同,就是對包進行管理,使得包的安裝,更新和解除安裝更容易。pip更新到最新版 windows python m pip install u piplinux或mac pip install u pippip包的安裝 pip install p...