De release van het uutils coreutils 0.10.0 (Rust Coreutils) project is gepubliceerd, dat een alternatief ontwikkelt voor het GNU Coreutils-pakket, geschreven in de programmeertaal 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 het creƫren van een platformonafhankelijke alternatieve implementatie van Coreutils, die onder andere werkt 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 referentietests van GNU Coreutils was 93,48% (voorheen 90,58%). 645 tests zijn met succes uitgevoerd, wat 20 meer is dan in de vorige versie (625). 29 tests faalden (voorheen 56), ƩƩn test resulteerde in een fout en 15 tests werden overgeslagen (voorheen 8).
- Bepaalde afwijkingen in het gedrag van de hulpprogramma's pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum en stat zijn verholpen.
- Er is verder gewerkt aan het verbeteren van de beveiliging om kwetsbaarheden door race-omstandigheden te voorkomen, die het mogelijk maken gegevens te wijzigen onmiddellijk na de validatie van de informatie, maar vóór de uitvoering van de operatie, bijvoorbeeld door een bestand te vervangen door een symbolische link tussen het einde van de controle en het begin van de uitvoering. In de context van het gebruik van de hulpprogramma's cp, chmod en mv in systeemscripts die als root worden uitgevoerd, kunnen dergelijke kwetsbaarheden leiden tot het kopiëren of overschrijven van willekeurige bestanden. De bescherming van de hulpprogramma's touch, mkfifo, mkdir, mknod, mv, chroot, head, split en chcon is versterkt.
- Er zijn maatregelen genomen om paniek-gebaseerde crashes in de hulpprogramma's 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 en hashsum te verhelpen.
- De prestaties van de hulpprogramma's cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr, uniq, en du zijn geoptimaliseerd.
- Ondersteuning voor de bouwdoelstelling wasm32-wasip2 is toegevoegd.
- In de hulpprogramma mv is de optie "āexchange" geĆÆmplementeerd om twee bestanden of mappen met elkaar te verwisselen.
- In de hulpprogramma install is de optie "āreflink" geĆÆmplementeerd en is de mogelijkheid om de opties "-C" en "āpreserve-timestamps" samen te gebruiken, gewaarborgd.
- In de hulpprogramma rm is de optie "āone-file-system" toegevoegd.
- De hulpprogramma cut biedt nu ondersteuning voor multibyte-encoderingen bij het gebruik van niet-UTF-8 lokale instellingen.
- Voor snelle berekening van controlesommen is de OpenSSL-backend ingezet.
Bron: opennet.ru
