ĂshtĂ« publikuar versioni i projektit uutils coreutils 0.9.0 (Rust Coreutils), i cili zhvillon njĂ« alternativĂ« tĂ« paketĂ«s GNU Coreutils, e shkruar nĂ« gjuhĂ«n Rust. Coreutils pĂ«rmban mĂ« shumĂ« se njĂ«qind utilitete, duke pĂ«rfshirĂ« sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, dhe ls. QĂ«llimi i projektit Ă«shtĂ« krijimi i njĂ« implementimi alternativ pĂ«r Coreutils qĂ« Ă«shtĂ« ndĂ«rplatformor dhe nĂ« veçanti, nĂ« gjendje tĂ« funksionojĂ« nĂ« platformat Windows, Redox, dhe Fuchsia.
Rust Coreutils
është i përfshirë si parazgjedhje në versionin Ubuntu 25.10 dhe pjesërisht në Ubuntu 26.04. Rust Coreutils gjithashtu përdoret në shpërndarjet AerynOS (Serpent OS) dhe Apertis (i zhvilluar nga kompania Collabora). Ndryshe nga GNU Coreutils, implementimi në Rust shpërndahet nën licencën e lehtë MIT, në vend të licencës copyleft GPL. Për më tepër, e njëjta ekip zhvillues po zhvillon analoge të shkruara në Rust për paketat util-linux, diffutils, findutils, procps dhe acl, si dhe programet sed dhe login.
Në versionin e ri të Rust Coreutils:
- Niveli i kompatibilitetit me standardin e testeve GNU Coreutils ishte 90.58% (ishte 94.74%). U kryen me sukses 625 teste, që ishin 5 më pak se në versionin e kaluar (630). 56 teste përfunduan me dështim (ishin 21), një test rezultoi në një gabim, dhe 8 teste u anuluan (ishin 14). Rënia e nivelit të kompatibilitetit shpjegohet nga përditësimi i grupit të testeve në gjendjen e lëshimit të GNU Coreutils 9.11, në të cilin u shtuan 25 teste të reja.
- Janë eliminuar 44 vulnerabilitete që u identifikuan në auditimin e kryer nga kompania Zellic. Shumica e vulnerabiliteteve janë shkaktuar nga mosbhedhja e sjelljes me GNU coreutils ose gjendja e garës, që lejon ndërrimin e të dhënave pas verifikimit të saktësisë së informacionit, por para ekzekutimit të operacionit me to, për shembull, duke zëvendësuar një skedar me një lidhje simbolike në momentin midis përfundimit të verifikimit dhe fillimit të ekzekutimit të operacionit. Në kontekstin e përdorimit të utiliteteve cp, chmod dhe mv në skriptet sistemike, të cilat ekzekutohen me të drejta root, vulnerabilitete të tilla lejojnë kopjimin ose tejkalimin e skedarëve të rastit. Për të mbrojtur nga vulnerabilitetet e shkaktuara nga gjendja e garës, projekti ka angazhuar modulin uucore::safe_copy. Informacioni mbi vulnerabilitetet është publikuar në një lajm të veçantë.
- Të utilitetet po vazhdojnë të përkthehen në paketën crate rustix në vend të paketës crate nix. Utilitetet id, tr, timeout, sort, wc, tail, cp, who dhe factor janë përkthyer në rustix.
ĂshtĂ« bĂ«rĂ« pastrimi i kodit nga operacionet unsafe nĂ« utilitete tĂ« ndryshme. - NĂ« utilitatet cat, wc, head, tail, yes, cp, tee dhe unexpand janĂ« pĂ«rdorur trajtuesit e hyrjes/daljes tĂ« bazuar nĂ« thirrje sistemore splice(), tee() dhe pipe(), duke lejuar pĂ«rshpejtimin e punĂ«s duke pĂ«rjashtuar kopjimin e panevojshĂ«m tĂ« tĂ« dhĂ«nave midis bufereve.
- Përmirësuar përputhshmëria me GNU Coreutils për utilitetet numfmt, date, tr, cksum, factor, head, stat dhe sort.
- Në utilitetet ln, dd, mktemp dhe tty është shtuar mbështetje për ndërtimin në formatin WebAssembly dhe përdorimin e ndërfaqes WASI (WebAssembly System Interface).
- Këto mundësi janë zgjeruar, problemet janë eliminuar dhe janë shtuar opsionet e munguar për utilitetet 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.
Burimi: opennet.ru
