uutils 0.9 izlaišana, GNU Coreutils versija Rust valodā

Ir laists projekts uutils coreutils 0.9.0 (Rust Coreutils), kas attīsta GNU Coreutils pakotnes analogu, rakstīts valodā Rust. coreutils ietver vairāk nekā simts utilītu, tostarp sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln un ls. Projekta mērķis ir izveidot daudzplatformu alternatīvu Coreutils īstenojumu, kas spēj darboties Windows, Redox un Fuchsia platformās.

Rust Coreutils
ieviests pēc noklusējuma Ubuntu 25.10 laidienā un daļēji Ubuntu 26.04. Rust Coreutils arī tiek izmantots AerynOS (Serpent OS) un Apertis (izstrādā Collabora) izplatījumos. Atšķirībā no GNU Coreutils, Rust versija tiek izplatīta ar MIT permisīvu licenci, nevis copyleft GPL licenci. Turklāt tā pati izstrādātāju komanda attīsta Rust rakstītus util-linux, diffutils, findutils, procps un acl komplektu analoģijas, kā arī programmas sed un login.

Jaunajā Rust Coreutils versijā:

  • Saderības līmenis ar GNU Coreutils atsauces testu kopu ir bijis 90.58% (bijuši 94.74%). Veiksmīgi izpildīti 625 testi, kas ir par 5 mazāk nekā iepriekšējā versijā (630). 56 testi neizdevās (bijuši 21), viens tests izraisīja kļūdu, un 8 testi tika izlaisti (bijuši 14). Saderības samazinājums tiek skaidrots ar testu kopas atjaunināšanu līdz GNU Coreutils 9.11 laidienam, kurā pievienoti 25 jauni testi.
  • Tika novērstas 44 ievainojamības, ko atklāja auditā, ko veica uzņēmums Zellic. Lielākā daļa ievainojamību radušās uzvedības atšķirību dēļ ar GNU coreutils vai sacensību stāvokļu dēļ, kas ļauj mainīt datus laikā pēc informācijas pārbaudes, bet pirms operācijas veikšanas, piemēram, aizvietojot failu ar simbolisku saiti brīdī starp pārbaudes pabeigšanu un operācijas uzsākšanu. Sistemātisko skriptu kontekstā, kas tiek veikti ar root tiesībām, šādas ievainojamības ļauj kopēt vai pārrakstīt patvaļīgus failus. Lai aizsargātu pret ievainojamībām, ko izraisa sacensību stāvokļi, projektā izmantots modulis uucore::safe_copy. Informācija par ievainojamībām publicēta atsevišķā ziņojumā.
  • Turpināts utilītu pārvietošana uz crate-paketi rustix vietā crate-paketes nix. uz rustix tika pārvietotas utilītas id, tr, timeout, sort, wc, tail, cp, who un factor.
    Tika veikta koda tīrīšana no unsafe operācijām dažādās utilītās.
  • Rīka cat, wc, head, tail, yes, cp, tee un unexpand izmanto I/O apstrādātājus, kas balstīti uz sistēmas izsaukumiem splice(), tee() un pipe(), ļaujot paātrināt darbību, izslēdzot lieku datu kopēšanu starp buferiem.
  • Uzlabota saderība ar GNU Coreutils rīkiem numfmt, date, tr, cksum, factor, head, stat un sort.
  • Rīkiem ln, dd, mktemp un tty pievienota atbalsta WebAssembly formātam un WASI (WebAssembly System Interface) izmantošanai.
  • Paplašinātas iespējas, novērstas problēmas un pievienotas trūkstošas opcijas rīkiem cat, chroot, cksum,
    cp, date, dd, df, dirname, du, echo, env, expr, factor, fmt, head, id, install, join, ln, logname, ls, md5sum, mkdir, mknod, mktemp, more, mv, nl, nohup, nproc, numfmt, od, paste, pinky, pr, realpath, rm, rmdir, shred, sort, split, stat, stdbuf, stty, sum, sync, tail, tee, timeout, touch, tr, tty, unexpand, uniq, uptime, wc, who, yes.
  • Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster