Uitgave van uutils 0.11, een variant van GNU Coreutils in de programmeertaal Rust.

De uitgave van het uutils coreutils-project 0.11.0 (Rust Coreutils) is gepubliceerd. Dit project ontwikkelt een alternatief voor het GNU Coreutils-pakket, geschreven in Rust. Coreutils bevat meer dan honderd hulpprogramma's, waaronder sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln en ls. Het doel van het project is om een cross-platform alternatieve implementatie van Coreutils te creëren, die onder andere kan draaien op Windows, Redox en Fuchsia.

Rust Coreutils is standaard ingeschakeld in de release van Ubuntu 25.10 en gedeeltelijk in Ubuntu 26.04. Rust Coreutils wordt ook gebruikt in de distributies AerynOS (Serpent OS) en Apertis (ontwikkeld door Collabora). In tegenstelling tot GNU Coreutils wordt de implementatie in Rust verspreid onder de permissieve MIT-licentie, in plaats van de copyleft GPL-licentie. Daarnaast ontwikkelt hetzelfde team alternatieven in Rust voor de util-linux, diffutils, findutils, procps en acl-sets, evenals de programma's sed en login.

In de nieuwe versie van Rust Coreutils:

  • Het compatibiliteitsniveau met de referentietestset van GNU Coreutils bedraagt 95,33% (was 94,44%). Er zijn 653 tests met succes uitgevoerd, 8 meer dan in de vorige versie (645). 22 tests zijn mislukt (was 29) en 15 tests zijn overgeslagen (was 15).
  • Er is een nieuwe foutdiagnose-engine geïntegreerd, gebaseerd op de ariadne-bibliotheek, die visuele foutmeldingen in de terminal geeft bij het starten van hulpprogramma's, met aanduidingen van de commandoregelargumenten die de fout veroorzaakten. Foutvisualisatie is ingeschakeld voor de hulpprogramma's chmod, mkdir, mkfifo, mknod, install, tr, expr, sort, numfmt, cut, env, head, tail, truncate, split, shred, stdbuf, od, seq, dd, stat, join, csplit, ls, df en du. Om de diagnostische rapporten uit te schakelen, is de omgevingsvariabele UUTILS_DIAG voorgesteld.
  • Bij het bouwen van releases zijn optimalisaties ingeschakeld op basis van code-profileringsresultaten (PGO - Profile-guided optimization), waardoor er beter geoptimaliseerde code kan worden gegenereerd op basis van een analyse van het uitvoering gedrag van het programma. Volgens de ontwikkelaars bedroeg de prestatieverbetering bij bepaalde bewerkingen tot 31%.
  • De prestaties van de hulpprogramma's cp (+32,93%), join (2,5 keer sneller dan GNU dankzij het uitschakelen van overbodige vergelijkingen van de lokale omgeving), od, ptx (+4%), nl, tail, expand, unexpand, numfmt en sort zijn geoptimaliseerd. Situaties waarbij operaties merkbaar trager zijn uitgevoerd dan in GNU Coreutils worden nu als fouten beschouwd.
  • Bepaalde afwijkingen met GNU Coreutils in het gedrag van de hulpprogramma's pr, numfmt, join, id, mkdir, fold, sort, stat, od en date zijn verholpen.
  • Specifieke opties voor GNU Coreutils zijn geïmplementeerd: «uname -A», «uname —all-labeled», «cut -F», «cut —whitespace-delimited», «pr —columns», «pr —join-lines», «pr -f».
  • Bij de hulpprogramma's mv, cp, rm, chmod en stdbuf is gewerkt aan het verbeteren van de beveiliging om kwetsbaarheden te voorkomen die veroorzaakt worden door race conditions, waardoor gegevens kunnen worden gewijzigd tussen de controle op geldigheid en de uitvoering van de bewerking, bijvoorbeeld door een bestand te vervangen door een symbolische link tussen de voltooiing van de controle en het begin van de uitvoering. In de context van het gebruik van de hulpprogramma's cp, chmod en mv in scripts die met root-rechten draaien, kunnen dergelijke kwetsbaarheden leiden tot het kopiëren of overschrijven van willekeurige bestanden.
  • Er is gewerkt aan het oplossen van crashproblemen in de hulpprogramma's split, yes, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac, who.
  • Varianten van de hulpprogramma's kill en uptime voor Windows zijn geïmplementeerd.
  • Het gebruik van de pakketten byteorder, same-file, filetime, winapi-util, file_diff, mockstream, binary-heap-plus, compare, arrayref (recentelijk gecompromitteerd), exacl en dns-lookup is beëindigd ten gunste van functies uit de std-, rustix- en windows-sys-bibliotheken.
  • De hulpprogramma's ls en comm hebben ondersteuning toegevoegd voor de locale-eigenschappen «collation», waarmee het mogelijk is om vergelijkingen te maken rekening houdend met de betekenis van symbolen (bijvoorbeeld, bij het vergelijken kan de accenten niet in aanmerking worden genomen).
  • De verwerking van multibyte-symbolen in de hulpprogramma's nl en cut is verbeterd.

Daarnaast kan worden vermeld dat Canonical twee experimentele containerafbeeldingen heeft gepubliceerd met inhoud voor de ontwikkeling van programma's in de taal Rust, die voldoen aan de Dev Container-specificatie. De eerste afbeelding bevat Rust 1.93, Cargo, rust-analyzer, Clippy, Rustfmt, Miri (interpreter voor het identificeren van onbepaalde gedragingen), cargo-auditable (audit van builds), GCC, Clang, LLD, pkg-config, Just, Git, Vim, Helix, Ripgrep, Hyperfine, Bacon, xh en curl. De tweede afbeelding bevat daarnaast pakketten voor Ubuntu-ontwikkeling: git-buildpackage, sbuild, ubuntu-dev-tools, devscripts, dh-make, dh-cargo, autopkgtest, cargo-vendor-filterer.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster