Uscita di uutils 0.10, variante GNU Coreutils in linguaggio Rust

Pubblicata l'uscita del progetto uutils coreutils 0.10.0 (Rust Coreutils), che sviluppa un'alternativa al pacchetto GNU Coreutils, scritta in linguaggio Rust. Il pacchetto coreutils include più di cento utility, tra cui sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln e ls. L'obiettivo del progetto è creare una implementazione alternata cross-platform di Coreutils, tra l'altro capace di funzionare su piattaforme Windows, Redox e Fuchsia.

Rust Coreutils è di default utilizzato nell'uscita di Ubuntu 25.10 e parzialmente in Ubuntu 26.04. Rust Coreutils è anche utilizzato in distribuzioni AerynOS (Serpent OS) e Apertis (sviluppato da Collabora). A differenza di GNU Coreutils, l'implementazione in Rust è distribuita con una licenza permissiva MIT, invece della licenza copyleft GPL. In aggiunta, lo stesso team di sviluppatori sta sviluppando equivalenti scritti in Rust per i pacchetti di utilità util-linux, diffutils, findutils, procps e acl, nonché per i programmi sed e login.

Nella nuova versione di Rust Coreutils:

  • Il livello di compatibilità con il set di test di riferimento di GNU Coreutils è stato del 93.48% (precedentemente 90.58%). Sono stati eseguiti con successo 645 test, 20 in più rispetto alla versione precedente (625). 29 test sono risultati non riusciti (precedentemente 56), un test ha generato un errore, e 15 test sono stati saltati (precedentemente 8).
  • Sono state eliminate alcune discrepanze con GNU Coreutils nel comportamento delle utility pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum e stat.
  • È continuato il lavoro per migliorare la sicurezza al fine di prevenire vulnerabilità causate da condizioni di gara, permettendo di modificare i dati nel momento successivo alla verifica della validità delle informazioni, ma prima dell'esecuzione dell'operazione su di esse; ad esempio, sostituire un file con un collegamento simbolico fra il termine della verifica e l'inizio dell'esecuzione dell'operazione. Nel contesto dell'utilizzo delle utility cp, chmod e mv negli script di sistema eseguiti con diritti di root, tali vulnerabilità consentono di copiare o sovrascrivere file arbitrari. È stata rafforzata la protezione delle utility touch, mkfifo, mkdir, mknod, mv, chroot, head, split e chcon.
  • È stato eseguito un lavoro per correggere i crash tramite il meccanismo panic nelle utility 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.
  • È stata ottimizzata la performance delle utility cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr, uniq, du.
  • È stata aggiunta la supporto per l'obiettivo di build wasm32-wasip2.
  • Nell'utility mv è stata implementata l'opzione «—exchange» per scambiare due file o directory.
  • Nell'utility install è stata implementata l'opzione «—reflink» ed è stata garantita la possibilità di utilizzare insieme le opzioni «-C» e «—preserve-timestamps».
  • Nell'utility rm è stata aggiunta l'opzione «—one-file-system».
  • Nell'utility cut è stata fornita la possibilità di lavorare con codifiche multibyte utilizzando località diverse da UTF-8.
  • Per calcolare rapidamente le somme di controllo è stato utilizzato il backend OpenSSL.

Fonte: opennet.ru

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