uutils coreutils 0.7.0(Rust Coreutils)專案已發布。該專案開發了一個用 Rust 語言編寫的 GNU Coreutils 軟體包的類似版本。 coreutils 包含一百多個實用程序,包括 sort、cat、chmod、chown、chroot、cp、date、dd、echo、hostname、id、ln 和 ls。該專案的目標是創建一個跨平台的 Coreutils 替代實現,使其能夠在 Windows、Redox 和 Fuchsia 平台上運行。
Rust Coreutils 在 Ubuntu 25.10 中預設啟用,並在 AerynOS(Serpent OS)和 Apertis(由 Collabora 開發)發行版中使用。與 GNU Coreutils 不同,Rust 實作採用的是寬鬆的 MIT 許可證,而非版權自由的 GPL 授權。同一個開發團隊也正在開發 util-linux、diffutils、findutils、procps 和 acl 工具套件以及 sed 和 login 程式的 Rust 版本。
在新版的 Rust Coreutils 中:
- 與 GNU Coreutils 基準測試套件的相容率為 94.59%(低於先前的 96.28%)。通過了 629 項測試,比上一版本(622 項)增加了 7 項。有 23 項測試失敗(低於先前的 16 項),另有 13 項測試被跳過(低於先前的 7 項)。相容性下降的原因是基準測試套件更新到了 GNU Coreutils 9.10 的狀態,新增了 19 項測試。就測試總數而言,Rust Coreutils 比上一版本多通過了 7 項測試。
- 最顯著的兼容性改進體現在 date、fmt、kill、ptx、numfmt 和 cksum 工具上。 cut、tac、tail、tr、uniq、od、chroot、stat、mktemp、pr、readlink、ln、kill、nproc、rm、env、sync、fmt、factor 和 wc 工具的兼容性改進則相對較小。
- 已為 num-prime Rust 庫提供支持,該庫用於 factor 實用程式中的測試。
- ls、du、tsort、shuf、mv 中 rustc-hash 的更快實現以及 sort 中 foldhash 的更快實現已啟用。
- 優化了 unexpand 和 expand 實用程式中 ASCII 字元的處理,在使用緩衝讀取時速度提高了 14%。
- shuf、split、sort 和 du 工具中的記憶體分配操作已優化,du 的速度提高了 3-6%,shuf 的速度提高了 4%。
- nl 工具中數字到字串的轉換速度已加快。
- 可執行檔的大小已減小,真假實用程式的啟動速度已加快。
- 修正了 20 多個實用程式(包括 echo、date、sort、expr、hostname、id、comm、pr 和 dircolors)在無法寫入 stderr(重定向到 /dev/full)時崩潰的問題。
- 在 umask、mkdirat、mknod 和其他實用程式中,不安全的 libc 呼叫已被來自 nix crate 套件的安全綁定所取代。
- 現在,在指定符號連結時,「rm」實用程式中的「--preserve-root」選項可以正常運作。
- 改進了對 NetBSD、Windows 和 NixOS 平台的支援。改進了對 PowerPC 架構的建置。
- 擴展了以下實用程式的功能,修復了問題,並添加了缺少的選項:cat、cksum、chroot、comm、cp、csplit、cut、date、dd、df、dircolors、du、echo、env、expand、expr、factor、false、fmt、fold、hostname、env、expand、expr、factor、false、fmt、fold、hostname、id、install、killmln、ls、install emp、mknod、mv、nl、nproc、numfmt、od、paste、pr、printfm、ptx、readlink、rm、shuf、sort、split、stat、stdbuf、stty、sync、tac、tail、test、tr、true、tsort、unexpand、uniq、up、upwho、wwtime、who。
來源: opennet.ru
