Projekt uutils coreutils 0.9.0 (Rust Coreutils), vývoj balíka GNU Coreutils napísaného v Ruste, bol vydaný. coreutils obsahuje viac ako 100 utilít vrátane sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln a ls. Cieľom projektu je vytvoriť multiplatformovú alternatívu ku Coreutils, schopnú bežať na platformách vrátane Windows, Redox a fuchsia.
Rust Coreutils
predvolene povolené vo vydaní Ubuntu 25.10 a čiastočne v Ubuntu 26.04. apríla. Rust Coreutils sa používa aj v distribúciách AerynOS (Serpent OS) a Apertis (vyvinutý spoločnosťou Collabora). Na rozdiel od GNU Coreutils je implementácia Rust distribuovaná pod permisívnou licenciou MIT namiesto copyleftovej GPL. Okrem toho ten istý tím vývojárov vyvíja ekvivalenty balíkov util-linux, diffutils, findutils, procps a acl založené na Ruste, ako aj programy sed a login.
V novej verzii Rust Coreutils:
- Miera kompatibility s benchmarkovým balíkom GNU Coreutils bola 90.58 % (pokles z 94.74 %). Úspešne bolo dokončených 625 testov, čo je o 5 menej ako v predchádzajúcej verzii (630). 56 testov zlyhalo (pokles z 21), jeden test skončil chybou a 8 testov bolo vynechaných (pokles zo 14). Pokles kompatibility je spôsobený aktualizáciou benchmarkového balíka na verziu GNU Coreutils 9.11, ktorá pridala 25 nových testov.
- Počas auditu vykonaného spoločnosťou Zellic bolo opravených štyridsaťštyri zraniteľností identifikovaných. Väčšina týchto zraniteľností je spôsobená behaviorálnymi rozdielmi s nástrojmi GNU coreutils alebo súbehmi, ktoré umožňujú úpravu údajov po overení informácií, ale pred vykonaním operácie. Napríklad súbor je možné nahradiť symbolickým odkazom medzi dokončením overenia a začiatkom operácie. Pri použití utilít cp, chmod a mv v systémových skriptoch spustených s oprávneniami root tieto zraniteľnosti umožňujú kopírovanie alebo prepisovanie ľubovoľných súborov. Na ochranu pred súbehmi projekt používa modul uucore::safe_copy. Informácie o týchto zraniteľnostiach sú publikované v samostatnej správe.
- Migrácia nástrojov z balíka nix crate do balíka rustix crate pokračuje. Do rustixu boli migrované nasledujúce nástroje: id, tr, timeout, sort, wc, tail, cp, who a factor.
Kód bol vyčistený od nebezpečných operácií v rôznych utilitách. - Nástroje cat, wc, head, tail, yes, cp, tee a unexpand používajú obslužné programy vstupu/výstupu založené na systémových volaniach splice(), tee() a pipe(), ktoré zrýchľujú operáciu elimináciou zbytočného kopírovania údajov medzi vyrovnávacími pamäťami.
- Vylepšená kompatibilita s GNU Coreutils pre utility numfmt, date, tr, cksum, factor, head, stat a sort.
- Nástroje ln, dd, mktemp a tty teraz podporujú zostavovanie vo formáte WebAssembly a používanie rozhrania WASI (WebAssembly System Interface).
- Rozšírené možnosti, opravené problémy a pridané chýbajúce možnosti pre utility cat, chroot a cksum.
cp, dátum, dd, df, názov_súboru, du, echo, env, výraz, faktor, fmt, hlava, id, inštalácia, pripojenie, ln, názov_súboru, ls, md5sum, mkdir, mknod, mktemp, viac, mv, nl, nohup, nproc, numfmt, od, pasta, pinky, pr, skutočná_cesta, rm, rmdir, skartovať, triediť, rozdeliť, stat, stdbuf, stty, sum, synchronizácia, tail, tee, časový_out, dotyk, tr, tty, rozbalenie, uniq, dostupnosť, wc, kto, áno.
Zdroj: opennet.ru
