Avaldatud on uutils coreutils 0.9.0 (Rust Coreutils) vÀljaanne, mis arendab GNU Coreutils paketi analooge, kirjutatud Rust keeles. coreutils koosneb enam kui sajast utiliidist, sealhulgas sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln ja ls. Projekti eesmÀrk on luua ristplatvormiline alternatiivne rakendus Coreutils, mis suudab töötada ka Windows, Redox ja Fuchsia platvormidel.
Rust Coreutils
on vaikimisi kasutusel Ubuntu 25.10 vÀljaandes ja osaliselt Ubuntu 26.04-s. Rust Coreutils-i kasutatakse ka AerynOS (Serpent OS) ja Apertis (arendab Collabora) jaotustes. Erinevalt GNU Coreutils-ist on Rusti rakenduse levitamine lubatud MIT litsentsi alusel, mitte GPL autoriÔigusliku litsentsi alusel. Lisaks arendavad sama arendajate meeskondile Rustis kirja pandud analooge util-linux, diffutils, findutils, procps ja acl utiliidide kogumitest, samuti programmide sed ja login.
Uues versioonis Rust Coreutils:
- Ăhilduvuse tase standardsete GNU Coreutils testidega oli 90,58% (oli 94,74%). Edukalt lĂ€binud 625 testi, mis on 5 vĂ€hem kui eelmisel versioonil (630). 56 testi lĂ”ppes ebaĂ”nnestumisega (oli 21), ĂŒks test tĂ”i vea, ja 8 testi jĂ€eti vahele (oli 14). Ăhilduvuse taseme langus on seletatav testide kogumi vĂ€rskendamisega GNU Coreutils 9.11 vĂ€ljalaskesse, mille raames lisati 25 uut testi.
- Eemaldatud on 44 haavatavust, mis tuvastati Zellici poolt lĂ€bi viidud auditiga. Enamik haavatavustest tulenes kĂ€itumise erinevustest GNU coreutilsiga vĂ”i vĂ”istlusolukorrast, mis vĂ”imaldab andmeid muuta teavet kontrollimise hetke ja operatsiooni kĂ€ivitamise vahel, nĂ€iteks vahetada fail sĂŒmboolseks lingiks kontrollimise lĂ”petamise ja operatsiooni kĂ€ivitamise vahel. Kontekstis utiliitide cp, chmod ja mv kasutamisel sĂŒsteemiskriptides, mis kĂ€ivitatakse root Ă”igustega, sellised haavatavused vĂ”imaldavad kopeerida vĂ”i ĂŒle kirjutada suvalisi faile. Haavatavuste kaitsmiseks on projektis kasutusele vĂ”etud moodul uucore::safe_copy. Teave haavatavuste kohta on avaldatud eraldi uudises.
- Utiliidide tÔlkimine crate-paketti rustix-alternatiivi jÀtkub nix crate-paketi asemel. rustix-i on tÔlgitud utiliidid id, tr, timeout, sort, wc, tail, cp, who ja factor.
Koodi on puhastatud ebaturvalistest operatsioonidest erinevates utiliidides. - Utillitaid cat, wc, head, tail, yes, cp, tee ja unexpand kasutavad sĂŒsteemikĂ”nesid pĂ”hinevaid sisse-/vĂ€ljunditöötlejaid nagu splice(), tee() ja pipe(), mis kiirendavad tööd, kĂ”rvaldamise tĂ”ttu liigset andmete kopeerimist puhverdate vahel.
- Parandatud ĂŒhilduvust GNU Coreutils'i utiliitidega numfmt, date, tr, cksum, factor, head, stat ja sort.
- Utiliitides ln, dd, mktemp ja tty on lisatud tugi WebAssembly formaadi ehitamiseks ja WASI (WebAssembly System Interface) kasutamiseks.
- Laienenud funktsionaalsus, kÔrvaldatud probleemid ja lisatud puuduvad valikud utiliitidele 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.
Allikas: opennet.ru
