Publicēts uutils coreutils 0.11.0 (Rust Coreutils) izlaidums, kas attīsta GNU Coreutils pakotnes analogu, rakstītu valodā Rust. Coreutils iekļauj vairāk nekā simts utilītu, tai skaitā sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln un ls. Projekta mērķis ir izveidot multiplatformu alternatīvu Coreutils realizāciju, kas spēj darboties Windows, Redox un Fuchsia platformās.
Rust Coreutils tiek izmantots noklusējumā Ubuntu 25.10 izlaidumā un daļēji Ubuntu 26.04. Rust Coreutils tiek arī izmantots AerynOS (Serpent OS) un Apertis (attīsta Collabora) izplatījumos. Atšķirībā no GNU Coreutils, Rust realizācija tiek izplatīta saskaņā ar MIT atļaujošo licenci, nevis ar GPL koplietošanas licenci. Turklāt tā pati izstrādātāju komanda attīsta Rust rakstītus util-linux, diffutils, findutils, procps un acl utilītu komplektu analogus, kā arī sed un login programmas.
Jaunajā Rust Coreutils versijā:
- Saderības līmenis ar GNU Coreutils atsauces testu komplektu bija 95.33% (iepriekš 94.44%). Sekmīgi izpildīti 653 testi, kas ir par 8 vairāk nekā iepriekšējā versijā (645). 22 testi beidzās neveiksmīgi (iepriekš 29), bet 15 testi tika izlaisti (iepriekš 15).
- Iegādāts jauns problēmu diagnosticēšanas dzinējs, kas balstīts uz ariadne bibliotēkas, un kas izvada skaidrus kļūdu ziņojumus terminālā, kad utilītas tiek palaistas, ar norādītajiem komandrindas argumentiem, kas izraisīja problēmu. Kļūdu vizualizācija ir iekļauta utilītā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 un du. Lai izslēgtu diagnostikas ziņojumus, tika piedāvāta vides mainīgā UUTILS_DIAG.

- Izlaidumu veidošanā aktivizētas optimizācijas, kas balstītas uz koda profila rezultātiem (PGO — Profile-guided optimization), kas ļauj ģenerēt optimālāku kodu, analizējot programmas izpildes īpašības. Izstrādātāju vērtējums liecina, ka veiktspējas palielinājums noteiktu operāciju izpildē var sasniegt līdz 31%.
- Uzlabota utilītu cp (par 32.93%), join (2.5 reizes ātrāk nekā GNU, pateicoties nevajadzīgu lokalizācijas salīdzinājumu izslēgšanai), od, ptx (par 4%), nl, tail, expand, unexpand, numfmt un sort veiktspēja. Kā kļūdas tagad tiek vērtēti gadījumi, kad operāciju izpilde izrādās ievērojami lēnāka nekā GNU Coreutils.
- Novērotas atsevišķas atšķirības ar GNU Coreutils utilītu darbību pr, numfmt, join, id, mkdir, fold, sort, stat, od un date.
- Realizētas GNU Coreutils specifiskas iespējas: «uname -A», «uname —all-labeled», «cut -F», «cut —whitespace-delimited», «pr —columns», «pr —join-lines», «pr -f».
- Utilītēs mv, cp, rm, chmod, stdbuf ir veikts darbs, lai stiprinātu drošību, novēršot ievainojamības, kas saistītas ar sacensību stāvokli, ļaujot mainīt datus laikā starp informācijas validāciju un darbības izpildi ar tiem, piemēram, aizstājot failu ar simbolisko saiti laikā starp pārbaudes pabeigšanu un darbības uzsākšanu. Sistēmu skritpegšu kontekstā, kas tiek izpildīti ar root tiesībām, šādas ievainojamības ļauj kopēt vai pārrakstīt neatļautus failus.
- Veikts darbs, lai novērstu avāriju utilītēs split, yes, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac, who.
- Ieviestas kill un uptime versijas Windows sistēmām.
- Pārtraukta byteorder, same-file, filetime, winapi-util, file_diff, mockstream, binary-heap-plus, compare, arrayref izmantošana (pēdējiem bija drošības kompromits), exacl un dns-lookup funkciju labad no std, rustix un windows-sys bibliotēkām.
- Utilītēm ls un comm pievienota atbalsts lokālo īpašību «collation» ievērošanai, ļaujot veikt salīdzināšanu, ņemot vērā simbolu nozīmi (piemēram, salīdzinot var netikt ņemts vērā uzsvars).
- Uzlabota darbs ar vairāku baito simboliem utilītēs nl un cut.
Papildus jāatzīmē, ka Canonical ir publicējusi divus eksperimentālus konteineru attēlus Rust programmēšanas izstrādei, kas atbilst Dev Container specifikācijai. Pirmais attēls ietver Rust 1.93, Cargo, rust-analyzer, Clippy, Rustfmt, Miri (interpretators undefined behavior atklāšanai), cargo-auditable (kompaktu auditu), GCC, Clang, LLD, pkg-config, Just, Git, Vim, Helix, Ripgrep, Hyperfine, Bacon, xh un curl. Otrais attēls papildus šim satur Ubuntu izstrādes pakotnes: git-buildpackage, sbuild, ubuntu-dev-tools, devscripts, dh-make, dh-cargo, autopkgtest, cargo-vendor-filterer.
Avots: opennet.lv

