Utilis 0.11, GNU Coreutils Rust variants, izlaidums

Ir izlaists uutils coreutils 0.11.0 (Rust Coreutils) projekts, kas ir GNU Coreutils pakotnes izstrāde, rakstīta Rust valodā. coreutils ietver vairāk nekā 100 utilītu, tostarp sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln un ls. Projekta mērķis ir izveidot starpplatformu alternatīvu Coreutils, kas spēj darboties platformās, tostarp Windows, Redokss un fuksija.

Rust Coreutils ir iespējots pēc noklusējuma šajā laidienā Ubuntu 25.10 un daļēji iekšā Ubuntu 26.04. aprīlis. Rust Coreutils tiek izmantots arī AerynOS (Serpent OS) un Apertis (izstrādātājs Collabora) distribūcijās. Atšķirībā no GNU Coreutils, Rust ieviešana tiek izplatīta saskaņā ar atļaujošo MIT licenci, nevis ar copyleft GPL. Turklāt tā pati izstrādātāju komanda izstrādā uz Rust balstītus util-linux, diffutils, findutils, procps un acl utilītu komplektu ekvivalentus, kā arī sed un login programmas.

Jaunajā Rust Coreutils versijā:

  • Saderības līmenis ar GNU Coreutils etalonu komplektu bija 95.33% (samazinājums no 94.44%). Veiksmīgi tika nokārtoti 653 testi, kas ir par 8 vairāk nekā iepriekšējā versijā (645). 22 testi neizdevās (samazinājums no 29) un 15 testi tika izlaisti (samazinājums no 15).
  • Ir integrēta jauna diagnostikas programma, kuras pamatā ir ariadne bibliotēka. Tā parāda vizuālus kļūdu ziņojumus, palaižot utilītprogrammas terminālī, izceļot komandrindas argumentus, kas izraisīja problēmu. Kļūdu vizualizācija ir iespējota šādās utilītprogrammā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. Diagnostikas ziņojumu atspējošanai tiek piedāvāts vides mainīgais UUTILS_DIAG.
  • Izlaiduma versiju laikā tiek iespējota profila vadīta optimizācija (PGO), kas ģenerē optimālāku kodu, pamatojoties uz programmas izpildes uzvedības analīzi. Izstrādātāji lēš, ka dažām darbībām veiktspējas pieaugums var sasniegt pat 31%.
  • Veiktspējas optimizācija ir ieviesta cp (+32.93%), join (2.5 reizes ātrāk nekā GNU, atspējojot nevajadzīgās lokalizācijas salīdzināšanas), od, ptx (+4%), nl, tail, expand, unexpand, numfmt un sort utilītprogrammām. Situācijas, kurās darbības bija ievērojami lēnākas nekā GNU Coreutils, tagad tiek uzskatītas par kļūdām.
  • Novērstas dažas neatbilstības ar GNU Coreutils utilītu pr, numfmt, join, id, mkdir, fold, sort, stat, od un date darbībā.
  • Ieviestas GNU Coreutils specifiskas opcijas: "uname -A", "uname --all-labeled", "cut -F", "cut --whitespace-delimited", "pr --columns", "pr --join-lines", "pr -f".
  • Utilītas mv, cp, rm, chmod un stdbuf ir pastiprinātas, lai novērstu sacensību apstākļu izraisītas ievainojamības, kas varētu ļaut modificēt datus pēc informācijas pārbaudes, bet pirms operācijas veikšanas. Piemēram, failu varētu aizstāt ar simbolisku saiti starp pārbaudes pabeigšanu un operācijas sākumu. Izmantojot utilītas cp, chmod un mv sistēmas skriptos, kas palaisti ar root privilēģijām, šādas ievainojamības varētu ļaut kopēt vai pārrakstīt patvaļīgus failus.
  • Ir veikts darbs, lai novērstu avārijas utilītprogrammās split, yes, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac un who.
  • Ieviestas kill un uptime utilītu variantes priekš Windows.
  • Novecojušas byteorder, same-file, filetime, winapi-util, file_diff, mockstream, binary-heap-plus, compare, arrayref (nesen kompromitēta), exacl un dns-lookup pakotnes par labu funkcijām no std, rustix un windows-sys bibliotēkām.
  • Utilītprogrammas ls un comm tagad atbalsta lokalizācijas īpašību "collation", kas ļauj veikt salīdzinājumus, ņemot vērā rakstzīmju nozīmi (piemēram, diakritiskās zīmes salīdzināšanas laikā var tikt ignorētas).
  • Uzlabota vairāku baitu rakstzīmju apstrāde nl un cut utilītprogrammās.

Turklāt Canonical ir izlaidis divus eksperimentālus konteinera attēlus Rust izstrādei, kas atbilst Dev Container specifikācijai. Pirmajā attēlā ir iekļauti Rust 1.93, Cargo, rust-analyzer, Clippy, Rustfmt, Miri (interpretators nedefinētas uzvedības noteikšanai), cargo-auditable (veidošanas audits), GCC, Clang, LLD, pkg-config, Just, Git, Vim, Helix, Ripgrep, Hyperfine, Bacon, xh un curl. Otrajā attēlā ir iekļautas arī izstrādes pakotnes. Ubuntu: git-buildpackage, sbuild, ubuntu-izstrādes rīki, izstrādes skripti, dh-make, dh-cargo, autopkgtest, cargo-vendor-filterer.

Avots: opennet.ru

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster