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。

遷移的原因是希望提高作為配電基礎的公用設施的可靠性和安全性。使用 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
