Udgivelse af uutils 0.3, en version af GNU Coreutils skrevet i Rust.

Udgivelsen af projektet uutils coreutils 0.3.0 (Rust Coreutils) er offentliggjort. Dette projekt udvikler et alternativ til GNU Coreutils, skrevet i Rust. coreutils indeholder over hundrede værktøjer, herunder sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln og ls. Projektets mål er at skabe en tværgående alternativ implementering af Coreutils, der blandt andet kan arbejde på platforme som Windows, Redox og Fuchsia.

Rust Coreutils er som standard aktiveret i udgivelsen Ubuntu 25.10 og anvendes i distributioner såsom AerynOS (Serpent OS) og Apertis (udviklet af Collabora). I modsætning til GNU Coreutils distribueres Rust-versionen under den tilladende MIT-licens, i stedet for GPL-copyleft-licensen. Desuden udvikler det samme team af udviklere også Rust-baserede alternativer til værktøjspakkerne util-linux, diffutils, findutils og procps samt programmerne sed og login.

I den nye version af Rust Coreutils:

  • Ydeevnen for nogle værktøjer er betydeligt forbedret; for eksempel er sorteringsværktøjet sort nu 3,72 gange hurtigere ved almindelig sortering og 1,46 gange hurtigere ved sortering af tal sammenlignet med GNU Coreutils, base64 er 1,2 gange hurtigere, expand 1,8 gange, unexpand 1,5 gange, nl 1,57 gange, fold 1,19 gange, og 'uniq -c' 1,13 gange.
  • Der er oprettet en infrastruktur til overvågning af ydeevne baseret på CodSpeed-værktøjssættet. I det kontinuerlige integrationssystem er regressioner i ydeevne blevet identificeret. Ydeevnetestene for 15 værktøjer er blevet tilføjet, herunder sort, ls, uniq, du og base64.
  • For værktøjerne rm, du, chmod og chgrp er der implementeret sikker håndtering af relative katalogstier, baseret på brugen af funktionerne openat og unlinkat.
  • Sikkerheden er forbedret ved brugen af crate-pakken nix i stedet for usikre libc-opkald.
  • Fejlhåndteringen er blevet forbedret og er nu tættere på GNU Coreutils' fejlhåndtering i mange af værktøjerne.
  • Kompatibiliteten med Coreutils er blevet forbedret, når der arbejdes med filstier, der indeholder og ikke indeholder UTF8-tegn.
  • Kompatibiliteten med den referentielt testserie fra GNU Coreutils er blevet forbedret, hvor 532 tests blev gennemført med succes (i den tidligere version 538), 68 (52) tests blev fejlet, og 33 (27) tests blev sprunget over. Den angivne kompatibilitetsgrad er 83,91% (før 87,06%). Faldet i kompatibilitetsgraden skyldes tilføjelsen af 16 nye tests til testserien.
  • I værktøjet date er muligheden ‘—reference=file’ implementeret for at vise tidspunkterne for filens ændringer. På grund af manglen på denne mulighed i Ubuntu, stoppede scripts til automatisk opdatering med at fungere. I date er logikken for tids Parsing også blevet konsolideret, GNU date-kompatibiliteten i implementeringen af mulighed ‘-d’ er forbedret, og flaget ‘—resolution’ er tilføjet for at vise præcisionsoplysninger om tidens registrering.
  • Der er implementeret mulighederne: ‘basenc —base58’, ‘id -a’, ‘ls -f’, ‘pinky —lookup’, ‘realpath -E’, ‘rm —progress’.
  • Funktionerne er blevet udvidet, problemer er blevet løst, og manglende muligheder er blevet tilføjet til værktøjerne 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.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster