Ubuntu 25.10 決定用 Rust 寫的 uutils 取代 GNU Coreutils

Canonical 工程副總裁兼 Ubuntu 專案技術負責人 Jon Seager 宣布了一項計劃,以基於 Rust 的實用程式取代 Ubuntu 的系統實用程式。該計劃的首要目標是讓 Ubuntu 25.10 預設使用 uutils 工具包,而不是 GNU Coreutils 實用程式套件。如果該實驗被認為是成功的話,uutils 也會在 Ubuntu 26.04 LTS 分支中預設為啟用。

此次替換將影響 Coreutils 中包含的一百多個實用程序,包括 sort、cat、chmod、chown、chroot、cp、date、dd、echo、hostname、id、ln 和 ls。目前,uutils 已經在基於 Debian 的 Apertis 發行版以及獨立的 AerynOS(SerpentOS)發行版中預設使用。上週發布的 uutils coreutils 套件 0.0.30 成功通過了 GNU Coreutils 基準測試套件的 507 項測試(上一個版本為 506 項,再上一個版本為 476 項)。 69 項測試失敗,41 項測試被跳過。我們還計劃在未來幾週內開始用 sudo-rs 套件取代 Ubuntu 中的 su 和 sudo 實用程式。在考慮的項目中,也提到了 zlib-rs 和 ntpd-rs。

 Ubuntu 25.10 決定用 Rust 寫的 uutils 取代 GNU Coreutils

遷移的原因是希望提高作為配電基礎的公用設施的可靠性和安全性。使用 Rust 將降低記憶體管理錯誤的風險,例如在釋放記憶體後存取記憶體以及緩衝區溢位。 John Seeger 認為,防範此類錯誤將提高安全保障,而隨著安全性的提高,系統的整體可靠性也會提高。

值得注意的是,Canonical 正在考慮各種提高品質的方法,其中之一就是交付最初開發時就注重安全性、可靠性和正確性的程序。這對於發行版的基礎組件尤其重要,因為如果低層軟體出現問題,這些問題就會反映在所有更高層的工作中,例如,如果基礎軟體包存在效能問題,它們就會影響其他子系統的效能。

為了測試 Ubuntu 中系統元件的替換,oxidizr 專案提供了一個命令列工具,用於管理與 Rust 編寫的替代品取代傳統實用程式相關的系統實驗。目前,oxidizr 中存在可用的實驗,用於預設切換到使用 uutils coreutils、uutils findutils、uutils diffutils 和 sudo-rs 套件。例如,要取代系統中的 coreutils 和 findutils,只需執行指令“sudo oxidizr enable --experiments coreutils findutils”,要恢復到原始狀態,可以使用指令“oxidizr disable”。

來源: opennet.ru

添加評論