Megjelent a uutils coreutils 0.6.0 (Rust Coreutils) projekt kiadása, amely a GNU Coreutils csomag Rust nyelven írt alternatíváját fejleszti. A coreutils több mint száz segédprogramot tartalmaz, beleértve a sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln és ls programokat. A projekt célja egy platformfüggetlen alternatív megvalósítás létrehozása, többek között olyan rendszerekre, mint a Windows, Redox és Fuchsia.
A Rust Coreutils alapértelmezés szerint szerepel az Ubuntu 25.10 kiadásában, és alkalmazzák az AerynOS (Serpent OS) és az Apertis (Collabora fejleszti) disztribúciókban. A GNU Coreutils-szal ellentétben a Rust megvalósítás MIT engedély alatt terjesztik, a GPL copyleft license helyett. Ezen kívül ugyanezen fejlesztőcsapat Rust nyelven íródott alternatívait fejleszti a util-linux, diffutils, findutils, procps és acl segédeszközök, valamint a sed és login programok számára.
Az új Rust Coreutils verzióban:
- Elértük a GNU Coreutils referencia tesztkészlettel való kompatibilitás szintjét — 96,28% (korábban 87,75%). 622 teszt sikeresen teljesült, ami 56-tal több, mint az előző verzióban (566). 16 (korábban 55) teszt nem teljesült, míg 7 (korábban 23) tesztet kihagytak. A legjelentősebb kompatibilitási javulás a sort, ls, date, cksum és tail segédprogramok esetében figyelhető meg.
- A date, sort, locale.rs és más segédprogramokból eltávolítottuk a „unsafe” kulcsszót használó kódot.
- A libc szabványos könyvtárra való hivatkozásokat helyettesítettük a nix csomag által biztosított megfelelő biztonságos hívásokkal.
- Javítottuk a hiba kezelését, megszüntettük a vészhelyzeti leállásokat a /dev/full írása közben.
- A date segédprogramban megvalósítottuk a hónapok és napok neveinek lokalizálását, figyelembe véve az ICU-t. Biztosítottuk az órák és naptár formázását a lokálé figyelembevételével.
- A sort segédprogramban lehetővé tettük a számok ezres elválasztókkal való rendezését és a +POS/-POS paraméterek kezelését.
- A join segédprogramhoz hozzáadtuk a „collation” lokalitási jellemzők támogatását, amelyek lehetővé teszik a karakterek jelentése szerinti összehasonlítást (például az ékezetek figyelmen kívül hagyásával).
- A base32, base64, basenc és df segédprogramok teljesítményét optimalizáltuk.
- A uniq segédprogramban csökkentettük a memóriafogyasztást kis- és nagybetűk figyelmen kívül hagyásával.
- A shuf segédprogramban optimalizáltuk a számkimenetet, és hozzáadtuk a „—random-seed” opciót.
- A tsort segédprogramban megszüntettük az összes bemenet memóriafoglalását.
- A tail segédprogramhoz hozzáadtuk a „—debug” jelzőt.
- A chmod segédprogramban megoldottuk a rekurszív műveletek végrehajtásával kapcsolatos problémákat, és hozzáadtuk a „—preserve-root” opciót.
- Unix-szerű rendszereken megerősítettük a biztonságot a könyvtártartalom bejárása során.
- A ls, id, mkdir, mkfifo és mknod segédprogramokhoz hozzáadtuk a SMACK kötelező hozzáférés-ellenőrzési mechanizmus támogatását.
- A folyamatos integrációs rendszerhez hozzáadtuk a build ellenőrzést 64 bites RISC-V rendszereken musl könyvtárral.
- Javítottuk a Windows működését a Cygwin használatával.
- Bővültek a lehetőségek, megoldódtak a problémák és hozzáadták a hiányzó opciókat az arch, base64, basename, cat, chgrp, chmod, chroot, cksum, comm, cp, csplit, date, dd, df, dir, dirname, du, echo, env, expand, expr, fmt, fold, groups, hashsum, head, hostid, id, install, join, kill, ln, logname, ls, mkdir, mkfifo, mknod, mktemp, more, mv, nice, nl, nohup, nproc, numfmt, pr, printenv, printf, ptx, readlink, rm, rmdir, runcon, seq, shred, shuf, sort, split, stat, stdbuf, stty, sync, tac, tail, tee, test, timeout, touch, truncate, tsort, uname, unexpand, uniq, uptime, users, wc, yes, ucore, uucore, uudoc.
Forrás: opennet.ru
