Lansarea uutils 0.3, o variantă a GNU Coreutils în limbajul Rust

A fost publicat numărul 0.3.0 al proiectului uutils coreutils (Rust Coreutils), care dezvoltă o alternativă la pachetul GNU Coreutils, scris în limbajul Rust. Coreutils include peste o sută de utilitare, inclusiv sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln și ls. Scopul proiectului este de a crea o implementare alternativă multiplatformă a Coreutils, capabilă, printre altele, să functioneze pe platformele Windows, Redox și Fuchsia.

Rust Coreutils este utilizat în mod implicit în lansarea Ubuntu 25.10 și este implementat în distribuțiile AerynOS (Serpent OS) și Apertis (dezvoltat de Collabora). Spre deosebire de GNU Coreutils, implementarea în Rust este distribuită sub licența permisivă MIT, în loc de licența copyleft GPL. De asemenea, aceeași echipă de dezvoltatori lucrează la implementări scrise în Rust ale seturilor de utilitare util-linux, diffutils, findutils și procps, precum și la programele sed și login.

În noua versiune a Rust Coreutils:

  • Performanța unor utilitare a fost semnificativ îmbunătățită; de exemplu, comparativ cu GNU Coreutils, utilitarul sort este acum cu 3,72 ori mai rapid la sortarea obișnuită și cu 1,46 ori mai rapid la sortarea numerelor, base64 este cu 1,2 ori mai rapid, expand cu 1,8 ori, unexpand cu 1,5 ori, nl cu 1,57 ori, fold cu 1,19 ori, iar «uniq -c» cu 1,13 ori.
  • Pe baza instrumentelor CodSpeed a fost creată o infrastructură pentru monitorizarea performanței. În sistemul de integrare continuă a fost asigurată identificarea regresiilor în performanță. Au fost adăugate teste de performanță pentru 15 utilitare, printre care sort, ls, uniq, du și base64.
  • Pentru utilitarele rm, du, chmod și chgrp a fost implementată o funcționare sigură cu căile relative ale directorilor, bazată pe utilizarea funcțiilor openat și unlinkat.
  • Securitatea a fost îmbunătățită prin utilizarea pachetului crate nix în locul apelurilor unsafe libc.
  • Gestionarea erorilor a fost îmbunătățită și adusă mai aproape de gestionarea erorilor din GNU Coreutils în multe utilitare.
  • Compatibilitatea cu Coreutils a fost îmbunătățită în ceea ce privește gestionarea căilor de fișiere care conțin și nu conțin caractere UTF8.
  • Compatibilitatea cu standardul de testare GNU Coreutils a fost îmbunătățită, 532 teste fiind finalizate cu succes (fată de 538 în versiunea anterioară), 68 (52) teste au eșuat, iar 33 (27) teste au fost omise. Nivelul de compatibilitate a fost declarat la 83,91% (față de 87,06%). Reducerea nivelului de compatibilitate este explicată prin adăugarea a 16 teste noi în setul de teste.
  • În utilitarul date a fost implementată opțiunea «—reference=file» pentru a arăta timpul de modificare al fișierului. Datorită lipsei acestei opțiuni în Ubuntu, scriptul automat de verificare a actualizărilor a încetat să funcționeze. În date, de asemenea, logica de parsare a timpului a fost consolidată, s-a îmbunătățit compatibilitatea cu GNU date în implementarea opțiunii «-d» și a fost adăugat flag-ul «—resolution» pentru a afișa date despre precizia contabilizării timpului.
  • Au fost implementate opțiunile: «basenc —base58», «id -a», «ls -f», «pinky —lookup», «realpath -E», «rm —progress».
  • Funcționalitățile au fost extinse, problemele au fost remediate și opțiunile lipsă pentru utilitarele base64, basenc, chgrp, chmod, cksum, cp, csplit, date, df, dirname, du, expand, expr, fold, hashsum, hostname, id, install, ln, ls, mv, nl, nohup, numfmt, od, pinky, ptx, realpath, rm, seq, sort, stat, stdbuf, stty, tail, timeout, touch, tsort, unexpand, uniq, uname, wc, who, uucore au fost adăugate.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster