Objavljeno izdanje projekta uutils coreutils 0.4.0 (Rust Coreutils), koji razvija alternativu paketu GNU Coreutils, napisanu na jeziku Rust. U sklopu coreutils nalazi se 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 stvoriti multiplatformsku alternativnu implementaciju Coreutils, koja može raditi na platformama Windows, Redox i Fuchsia.
Rust Coreutils se po defaultu koristi u izdanju Ubuntu 25.10 i primenjuje se u distribucijama AerynOS (Serpent OS) i Apertis (koji razvija kompanija Collabora). Za razliku od GNU Coreutils, Rust implementacija se distribuira pod permisivnom licencom MIT, umesto copyleft licence GPL. Dodatno, ista tim programera razvija napisane na Rust analoge alata util-linux, diffutils, findutils i procps, kao i programa sed i login.
U novoj verziji Rust Coreutils:
- Poboljšana je kompatibilnost sa referentnim testnim skupom GNU Coreutils, pri čemu je uspešno izvršeno 544 testa, što je 12 više nego u prethodnoj verziji (532). 56 (68) testova je završeno neuspešno, a 33 (33) testa je propušteno. Proklamovana je razina kompatibilnosti od 85.80% (bila je 83.91%).
- U alatu data poboljšana je kompatibilnost sa GNU date prilikom obrade vremenskih zona (dodana je mogućnost navođenja skraćenih naziva vremenskih zona u opciji —set).
- U alatu factor korišćen je paket num_prime za ubrzavanje faktorizacije tipova u64/u128.
- U alatu tsort implementacija DFS algoritma je prebačena sa rekurzivnog na iterativni metod rada kako bi se sprečilo preopterećenje steka.
- U alatu cksum podržani su hash-ovi sha2 i sha3. Dodani su testovi za praćenje promena u performansama cksum-a. Funkcionalnost hashsum je prebačena u cksum.
- U alatu mkdir otklonjeno je preopterećenje steka koje je dovodilo do pada prilikom kreiranja velikog (200+) broja unutrašnjih direktorijuma.
- U alatima stdbuf i uptime implementirana je podrška za platformu OpenBSD.
- Poboljšana je izrada i testiranje na platformi FreeBSD.
- Unesena su opšta poboljšanja za povećanje prenosivosti.
- Proširene su mogućnosti, otklonjene su greške i dodane nedostajuće opcije za alate base64, cat, chown, chsum, date, dd, du, factor, hashsum, install, ls, mkdir, od, printenv, printf, readlink, stdbuf, timeout, truncate, tsort, uptime, uudoc.
Dodatno se može primetiti razlika u ponašanju alata „du“ iz paketa uutils i GNU Coreutils, koja se pojavila nakon prelaska Ubuntu 25.10 na uutils. Razvijači još nisu odlučili da li da ovu razliku tumače kao grešku, jer s jedne strane u ponašanju uutils postoji logika i testni set GNU Coreutils ne otkriva probleme, ali s druge strane, nekompatibilnosti s GNU Coreutils treba obraditi kao greške, a ponašanje Busybox-a odgovara GNU Coreutils.
Različito ponašanje se primeti kada se u argumentima alata „du“ navede nekoliko direktorijuma u situaciji kada su neki od direktorijuma poddirektorijumi drugih direktorijuma (na primer, /var i /var/log). Uutils prikazuje stvarnu veličinu svakog pojedinačnog direktorijuma, dok u konačnom redu prikazuje ukupnu veličinu svih navedenih direktorijuma. GNU Coreutils u finalnom redu prikazuje stvarnu veličinu koju navedeni direktorijumi zauzimaju na disku, ali u odvojenoj listi prikazuje veličine svakog direktorijuma bez ugniježdenih direktorijuma, zbog čega su njihove veličine manje od stvarnih. Pored toga, vrednosti koje prikazuju GNU Coreutils i Busybox se menjaju u zavisnosti od redosleda navođenja direktorijuma.
Na primer, prilikom provere veličina direktorijuma „/var/log“ i „/var“, čija je stvarna veličina 1540 i 35495 bajtova, u GNU Coreutils će biti prikazano: du -smc /var/log /var 1540 /var/log 33955 /var # manja od stvarne 35495 total du -smc /var /var/log 35495 /var # prikazan samo /var i nije prikazan /var/log 35495 total
U uutils: du -smc /var/log /var 1540 /var/log 35495 /var 37033 total # veća od stvarne, ali odgovara zbiru /var i /var/log du -smc /var /var/log 35495 /var 1540 /var/log 37033 total # veća od stvarne, ali odgovara zbiru /var i /var/log
U Busybox: du -smc /var/log /var 1540 /var/log 33955 /var # manja od stvarne 35495 total du -smc /var /var/log 35495 /var # prikazan samo /var i nije prikazan /var/log 35495 total
Izvor: opennet.ru
