Rilascio di uutils 0.3, la variante Rust di GNU Coreutils

È stato rilasciato il progetto uutils coreutils 0.3.0 (Rust Coreutils), uno sviluppo del pacchetto GNU Coreutils, scritto in Rust. coreutils include oltre 100 utilità, tra cui sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln e ls. L'obiettivo del progetto è creare un'alternativa multipiattaforma a Coreutils, in grado di funzionare su piattaforme tra cui Windows, Redox e Fucsia.

Rust Coreutils abilitato di default nella release Ubuntu 25.10 ed è utilizzato nelle distribuzioni AerynOS (Serpent OS) e Apertis (sviluppato da Collabora). A differenza di GNU Coreutils, l'implementazione in Rust è distribuita con la licenza permissiva MIT, anziché con la licenza copyleft GPL. Lo stesso team di sviluppatori crea anche gli equivalenti in Rust delle suite di utilità util-linux, diffutils, findutils e procps, nonché dei programmi sed e login.

Nella nuova versione di Rust Coreutils:

  • Le prestazioni di alcune utility sono state notevolmente migliorate. Ad esempio, rispetto a GNU Coreutils, l'utility sort è ora 3.72 volte più veloce per l'ordinamento tradizionale e 1.46 volte più veloce per l'ordinamento dei numeri, base64 è 1.2 volte più veloce, expand è 1.8 volte più veloce, unexpand è 1.5 volte più veloce, nl è 1.57 volte più veloce, fold è 1.19 volte più veloce e uniq -c è 1.13 volte più veloce.
  • È stata creata un'infrastruttura di monitoraggio delle prestazioni utilizzando il toolkit CodSpeed. Il sistema di integrazione continua garantisce il rilevamento delle regressioni prestazionali. Sono stati aggiunti test di performance per 15 utility, tra cui sort, ls, uniq, du e base64.
  • Per le utility rm, du, chmod e chgrp, è stato implementato un lavoro sicuro con percorsi di directory relativi, basato sull'uso delle funzioni openat e unlinkat.
  • Maggiore sicurezza grazie all'utilizzo del pacchetto nix crate anziché delle chiamate libc non sicure.
  • Migliorata la gestione degli errori e avvicinata la gestione degli errori in molte utility a quella di GNU Coreutils.
  • Migliorata la compatibilità con Coreutils quando si lavora con percorsi di file contenenti e non contenenti caratteri UTF8.
  • Compatibilità migliorata con la suite di benchmark GNU Coreutils. 532 test sono stati superati (538 nella versione precedente), 68 (52) sono stati falliti e 33 (27) sono stati saltati. Il tasso di compatibilità riportato è dell'83.91% (in calo rispetto all'87.06%). La diminuzione della compatibilità è dovuta all'aggiunta di 16 nuovi test alla suite di benchmark.
  • В утилите date реализована опция «—reference=file» для показа времени модификации файла. Из-за отсутствия данной опции в Ubuntu перестал работать скрипт автоматической проверки наличия обновлений. В date также консолидирована логика парсинга времени, улучшена совместимость в GNU date в реализации опции «-d» и добавлен флаг «—resolution» для вывода данных о точности учёта времени.
  • Opzioni implementate: "basenc -base58", "id -a", "ls -f", "pinky -lookup", "realpath -E", "rm -progress".
  • Funzionalità estese, problemi risolti e opzioni mancanti aggiunte per le utilità 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.

Fonte: opennet.ru

Acquista hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting web affidabile con protezione DDoS, server VPS e VDS | ProHoster