Wydanie uutils 0.10, wersji GNU Coreutils w języku Rust.

Opublikowano wersję projektu uutils coreutils 0.10.0 (Rust Coreutils), rozwijającego analog pakietu GNU Coreutils, napisanego w języku Rust. W skład coreutils wchodzi ponad sto narzędzi, w tym sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln i ls. Celem projektu jest stworzenie wieloplatformowej alternatywnej implementacji Coreutils, która będzie mogła działać na platformach Windows, Redox i Fuchsia.

Rust Coreutils jest domyślnie używany w wydaniu Ubuntu 25.10 i częściowo w Ubuntu 26.04. Rust Coreutils jest także stosowany w dystrybucjach AerynOS (Serpent OS) oraz Apertis (rozwijanym przez firmę Collabora). W przeciwieństwie do GNU Coreutils, implementacja w Rust jest udostępniana na licencji MIT, zamiast licencji copyleft GPL. Dodatkowo ta sama ekipa deweloperów rozwija odpowiedniki zestawów narzędzi util-linux, diffutils, findutils, procps oraz acl napisane w Rust, a także programy sed i login.

W nowej wersji Rust Coreutils:

  • Poziom zgodności z odniesieniem zestawu testów GNU Coreutils wyniósł 93.48% (wcześniej 90.58%). Zrealizowano 645 testów, co oznacza wzrost o 20 w porównaniu do poprzedniej wersji (625). 29 testów zakończyło się niepowodzeniem (wcześniej 56), jeden test zakończył się błędem, a 15 testów zostało pominiętych (wcześniej 8).
  • Usunięto niektóre rozbieżności w działaniu narzędzi pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum i stat w porównaniu z GNU Coreutils.
  • Kontynuowano pracę nad wzmocnieniem bezpieczeństwa, aby zapobiec powstawaniu luk związanych z warunkami wyścigu, które mogą umożliwić zmianę danych w momencie po weryfikacji ich poprawności, ale przed wykonaniem operacji na nich, na przykład podmianę pliku na dowiązanie symboliczne w momencie między zakończeniem weryfikacji a rozpoczęciem operacji. W kontekście użycia narzędzi cp, chmod i mv w skryptach systemowych uruchamianych z uprawnieniami root, takie luki pozwalają na skopiowanie lub nadpisanie dowolnych plików. Wzmocniono ochronę narzędzi touch, mkfifo, mkdir, mknod, mv, chroot, head, split i chcon.
  • Przeprowadzono prace nad eliminacją awaryjnych zakończeń za pośrednictwem mechanizmu panic w narzędziach shuf, printf, numfmt, fmt, pr, chroot, dircolors, install, ln, touch, stat, split, expand, more, kill, cp, du, rm, runcon, sort, chown/chgrp, dirname, expr, cksum, dd, truncate, hashsum.
  • Przeprowadzono optymalizację wydajności narzędzi cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr, uniq, du.
  • Dodano wsparcie dla celu kompilacji wasm32-wasip2.
  • Do narzędzia mv dodano opcję „—exchange” do zamiany miejscami dwóch plików lub katalogów.
  • W narzędziu install zrealizowano opcję „—reflink” oraz zapewniono możliwość współdzielenia opcji „-C” i „—preserve-timestamps.”
  • Do narzędzia rm dodano opcję „—one-file-system”.
  • W narzędziu cut wprowadzono możliwość pracy z kodowaniami wielobajtowymi przy użyciu lokalizacji nie-UTF-8.
  • Do szybkiego obliczania sum kontrolnych wykorzystano backend OpenSSL.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster