Vydání uutils 0.11, Rust varianta GNU Coreutils

Projekt uutils coreutils 0.11.0 (Rust Coreutils), vývoj balíčku GNU Coreutils napsaného v Rustu, byl vydán. coreutils obsahuje přes 100 utilit, včetně sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln a ls. Cílem projektu je vytvořit multiplatformní alternativu ke Coreutils, schopnou běžet na platformách včetně... Windows, Redox a fuchsie.

Rust Coreutils je ve verzi standardně povolen Ubuntu 25.10 a částečně v Ubuntu 26.04. dubna. Rust Coreutils se používá také v distribucích AerynOS (Serpent OS) a Apertis (vyvinutý společností Collabora). Na rozdíl od GNU Coreutils je implementace Rust distribuována pod permisivní licencí MIT, nikoli pod copyleftovou licencí GPL. Stejný tým vývojářů navíc vyvíjí ekvivalenty sad utility utility-linux, diffutils, findutils, procps a acl založené na Rustu, stejně jako programy sed a login.

V nové verzi Rust Coreutils:

  • Míra kompatibility s benchmarkovým balíčkem GNU Coreutils byla 95.33 % (pokles z 94.44 %). Úspěšně bylo provedeno 653 testů, což je o 8 více než v předchozí verzi (645). 22 testů selhalo (pokles z 29) a 15 testů bylo přeskočeno (pokles z 15).
  • Byl integrován nový diagnostický engine založený na knihovně ariadne. Při spuštění utilit v terminálu zobrazuje vizuální chybové zprávy a zvýrazňuje argumenty příkazového řádku, které problém způsobily. Vizualizace chyb je povolena v následujících utilitách: chmod, mkdir, mkfifo, mknod, install, tr, expr, sort, numfmt, cut, env, head, tail, truncate, split, shred, stdbuf, od, seq, dd, stat, join, csplit, ls, df a du. Pro zakázání diagnostických zpráv je navržena proměnná prostředí UUTILS_DIAG.
  • Během sestavování vydaných verzí je povolena optimalizace řízená profily (PGO), která generuje optimálnější kód na základě analýzy chování při provádění programu. Vývojáři odhadují u některých operací zvýšení výkonu až o 31 %.
  • Byly implementovány optimalizace výkonu pro utility cp (+32.93 %), join (2.5krát rychlejší než GNU díky zakázání zbytečného porovnávání locale), od, ptx (+4 %), nl, tail, expand, unexpand, numfmt a sort. Situace s operacemi, které byly znatelně pomalejší než v GNU Coreutils, jsou nyní považovány za chyby.
  • Opraveny některé nesrovnalosti s GNU Coreutils v chování utilit pr, numfmt, join, id, mkdir, fold, sort, stat, od a date.
  • Implementovány specifické volby GNU Coreutils: "uname -A", "uname --all-labeled", "cut -F", "cut --whitespace-delimited", "pr --columns", "pr --join-lines", "pr -f".
  • Nástroje mv, cp, rm, chmod a stdbuf byly posíleny, aby se zabránilo zranitelnostem způsobeným soubojovými podmínkami, které by mohly umožnit úpravu dat po ověření informací, ale před provedením operace. Například soubor by mohl být nahrazen symbolickým odkazem mezi dokončením ověření a zahájením operace. Při použití nástrojů cp, chmod a mv v systémových skriptech spouštěných s oprávněními root by takové zranitelnosti mohly umožnit kopírování nebo přepsání libovolných souborů.
  • Byly provedeny práce na odstranění pádů utilit split, yes, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac a who.
  • Implementovány varianty utilit kill a uptime pro Windows.
  • Balíčky byteorder, same-file, filetime, winapi-util, file_diff, mockstream, binary-heap-plus, compare, arrayref (nedávno kompromitovaný), exacl a dns-lookup byly zrušeny ve prospěch funkcí z knihoven std, rustix a windows-sys.
  • Nástroje ls a comm nyní podporují vlastnost locale „collation“, která umožňuje provádět porovnávání s ohledem na význam znaků (například diakritika mohou být během porovnávání ignorována).
  • Vylepšené zpracování vícebajtových znaků v utilitách nl a cut.

Společnost Canonical dále vydala dva experimentální obrazy kontejnerů pro vývoj v Rustu, které splňují specifikaci Dev Container. První obraz obsahuje Rust 1.93, Cargo, rust-analyzer, Clippy, Rustfmt, Miri (interpret pro detekci nedefinovaného chování), cargo-auditable (audit sestavení), GCC, Clang, LLD, pkg-config, Just, Git, Vim, Helix, Ripgrep, Hyperfine, Bacon, xh a curl. Druhý obraz obsahuje také vývojářské balíčky. Ubuntugit-buildpackage, sbuild, ubuntu-dev-tools, devscripts, dh-make, dh-cargo, autopkgtest, cargo-vendor-filterer.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster