Objavljen je izdaj projekta uutils coreutils 0.10.0 (Rust Coreutils), koji razvija analog GNU Coreutils, napisan na jeziku Rust. Coreutils uključuje više od stotinu alata, uključujući sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln i ls. Cilj projekta je kreiranje multiplatformske alternativne implementacije Coreutils, koja može raditi na platformama kao što su Windows, Redox i Fuchsia.
Rust Coreutils se podrazumevano koristi u izdanju Ubuntu 25.10 i delimično u Ubuntu 26.04. Rust Coreutils se takođe koristi u distribucijama AerynOS (Serpent OS) i Apertis (razvija ga kompanija Collabora). Za razliku od GNU Coreutils, implementacija na Rustu se distribuira pod permisivnom MIT licencom, umesto pod kopileft GPL licencom. Dodatno, ista razvojna ekipa razvija analoge paketa util-linux, diffutils, findutils, procps i acl, kao i programa sed i login, napisane na Rustu.
U novoj verziji Rust Coreutils:
- Nivo kompatibilnosti sa referentnim skupom testova GNU Coreutils iznosi 93,48% (ranije 90,58%). Uspešno je izvršeno 645 testova, što je 20 više nego u prethodnoj verziji (625). 29 testova je bilo neuspešno (ranije 56), jedan test je izazvao grešku, a 15 testova je bilo propušteno (ranije 8).
- Ispravljene su pojedinačne razlike u ponašanju alata pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum i stat u odnosu na GNU Coreutils.
- Nastavljen je rad na poboljšanju sigurnosti radi sprečavanja pojave ranjivosti uzrokovanih stanjima trke, koja omogućavaju menjanje podataka u trenutku nakon provere ispravnosti informacija, ali pre izvršenja operacija nad njima, na primer, zamena datoteke simboličkom vezom između završetka provere i početka izvršenja operacije. U kontekstu korišćenja alata cp, chmod i mv u sistemskim skriptama koje se pokreću sa root privilegijama, takve ranjivosti omogućavaju kopiranje ili prepisivanje proizvoljnih datoteka. Ojačana je zaštita alata touch, mkfifo, mkdir, mknod, mv, chroot, head, split i chcon.
- Obavljen je rad na otklanjanju iznenadnih prekida putem mehanizma panic u alatima 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, hashsum.
- Izvršena je optimizacija performansi alata cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr, uniq, du.
- Dodata je podrška za cilj gradnje wasm32-wasip2.
- U alatu mv implementirana je opcija „—exchange“ za zamenu mesta između dva fajla ili direktorijuma.
- V orodju install je реализirana možnost «—reflink» in omogočeno skupno uporabo možnosti «-C» in «—preserve-timestamps».
- V orodje rm je dodana možnost «—one-file-system».
- V orodju cut je zagotovljena možnost dela z večbajtnimi kodiranji pri uporabi ne-UTF-8 lokalnih nastavitev.
- Za hitro izračunavanje kontrolnih vsot je bil uporabljen backend OpenSSL.
Izvor: opennet.ru
