Ubuntu 26.10 完成轉用以 Rust 實作的 coreutils (★ 104 分)
Ubuntu 26.10 將完成核心命令列工具全面改用 Rust 的轉換,以 uutils coreutils 取代長年採用的 GNU coreutils。常見的 ls、cat、chmod、du,以及先前暫緩替換的 cp、mv、rm,都將採用 Rust 版本;Ubuntu 26.04 LTS(長期支援版)當時因 uutils 存在 TOCTOU(檢查時間與實際使用時間之間產生競態)安全問題,仍保留後三者的 GNU 版本。
Canonical 自 2025 年起推動 Ubuntu 基礎元件「Rust 化」,理由是 Rust 可在編譯階段避免多類記憶體安全漏洞;Ubuntu 25.10 已先行採用部分 Rust 核心工具及 sudo-rs。官方表示,uutils 的目標是與 GNU 工具達成可直接替換的相容性,任何行為差異都應視為缺陷,因此一般使用者預期不會感受到操作差別。Canonical 也曾委託資安稽核,並每年捐助 4 萬歐元給 Trifecta Tech Foundation,該基金會正以 Rust 重寫 NTP(Network Time Protocol,網路時間同步協定)用戶端,Ubuntu 規劃在 27.10 將其設為預設工具。26.10 Beta 版預定本月稍晚推出,正式版定於 2026 年 10 月 15 日發行。
Hacker News 的主要疑慮集中於成熟度與相容性。一名開發者測試發現,uutils 的 rm 在刪除深達約 3.2 萬層的目錄結構時會因堆疊溢位而發生分段錯誤,GNU rm 則能正常完成;有人認為這種極端深度目錄影響範圍有限,應屬較低優先順序的缺陷,但也有人反駁,基礎工具不應在合法檔案結構下失效。後續有人指出,相關修正的合併請求已在討論串出現前送出,顯示問題正被處理。
部分留言者質疑,以尚未完全成熟的重寫版本替換歷經數十年驗證的 GNU 工具,可能將細微的正確性與效能問題帶給整個發行版;有人援引比較指出,GNU coreutils 過去 20 年揭露的 CVE(Common Vulnerabilities and Exposures,常見漏洞與弱點編號)數量較少,而 uutils 稽核曾找出大量問題。另一方面,也有人強調 uutils 並非直接移植,而是未取用 GNU 原始碼的重新實作,並嘗試改善國際化與錯誤訊息。另有使用者反映 Ubuntu 的錯誤回報、修正合併與發行凍結流程反應緩慢;雖可改裝 GNU 版 coreutils,但它與 build-essential 等開發套件的相依關係可能衝突,使「可自由改回 GNU 工具」在實務上不甚方便。
👥 94 則討論、評論 💬
https://news.ycombinator.com/item?id=49696697