Objavljen je projekat uutils coreutils 0.4.0 (Rust Coreutils), razvoj GNU Coreutils paketa, napisanog u Rustu. coreutils uključuje preko 100 uslužnih programa, uključujući sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln i ls. Cilj projekta je stvoriti višeplatformsku alternativu za Coreutils, sposobnu za rad na platformama uključujući Windows, Redoks i Fuksija.
Rust Coreutils je podrazumevano omogućen u ovom izdanju Ubuntu 25.10 i koristi se u distribucijama AerynOS (Serpent OS) i Apertis (razvijen od strane Collabora). Za razliku od GNU Coreutils-a, Rust implementacija se distribuira pod permisivnom MIT licencom, umjesto copyleft GPL-a. Isti tim programera također razvija ekvivalente util-linux, diffutils, findutils i procps, bazirane na Rustu, kao i programe sed i login.
U novoj verziji Rust Coreutils-a:
- Poboljšana kompatibilnost sa GNU Coreutils benchmark paketom, koji je prošao 544 testa, 12 više od prethodne verzije (532). Pedeset šest (68) testova nije prošlo, a 33 (33) testa su preskočena. Navedena stopa kompatibilnosti je 85.80% (prethodno 83.91%).
- Uslužni program za podatke ima poboljšanu kompatibilnost s GNU dateom prilikom rukovanja vremenskim zonama (dodana je mogućnost određivanja skraćenih naziva vremenskih zona u opciji --set).
- Alat factor koristi paket num_prime za ubrzavanje faktorizacije tipova u64/u128.
- U uslužnom programu tsort, implementacija algoritma za prolazak kroz DFS je promijenjena sa rekurzivnog na iterativni način rada kako bi se spriječilo prelijevanje steka.
- Alat cksum sada podržava sha2 i sha3 heševe. Dodani su benchmarkovi za praćenje performansi cksuma. Funkcionalnost hashsuma je migrirana na cksum.
- Ispravljen je problem prelijevanja steka u uslužnom programu mkdir koji je mogao uzrokovati pad sistema prilikom kreiranja velikog (200+) broja ugniježđenih direktorija.
- Alati stdbuf i uptime sada podržavaju OpenBSD platformu.
- Poboljšana izgradnja i testiranje na FreeBSD platformi.
- Napravljena su opšta poboljšanja kako bi se poboljšala prenosivost.
- Proširene mogućnosti, riješeni problemi i dodane nedostajuće opcije za uslužne programe base64, cat, chown, chsum, date, dd, du, factor, hashsum, install, ls, mkdir, od, printenv, printf, readlink, stdbuf, timeout, truncate, tsort, uptime, uudoc.
Dodatno, može se primijetiti razlika u ponašanju uslužnog programa "du" iz skupova uutils i GNU Coreutils, koja se pojavila nakon tranzicije. Ubuntu 25.10 na uutils. Programeri još nisu odlučili hoće li ovu neskladnost tretirati kao grešku, jer je ponašanje uutils-a logično i GNU Coreutils testni paket ne otkriva nikakve probleme. Međutim, nekompatibilnosti s GNU Coreutils-om trebale bi se tretirati kao greške, a ponašanje Busyboxa odgovara ponašanju GNU Coreutils-a.
Različito ponašanje se primjećuje prilikom navođenja više direktorija kao argumenata uslužnom programu "du", u situacijama kada su neki od direktorija poddirektorije drugih direktorija (na primjer, /var i /var/log). Uutils prikazuje stvarnu veličinu svakog pojedinačnog direktorija, a zatim prikazuje ukupnu veličinu svih navedenih direktorija u liniji sažetka. GNU Coreutils prikazuje stvarnu veličinu diska navedenih direktorija u liniji sažetka, ali u zasebnoj listi prikazuje veličine svakog direktorija umanjene za sve ugniježđene direktorije, što čini da njihova veličina izgleda manja od stvarne veličine. Nadalje, vrijednosti koje prikazuju GNU Coreutils i Busybox variraju ovisno o redoslijedu kojim su direktoriji navedeni.
Na primjer, prilikom provjere veličine direktorija "/var/log" i "/var", čije su stvarne veličine 1540 i 35495 bajtova, GNU Coreutils će ispisati: du -smc /var/log /var 1540 /var/log 33955 /var # manje od stvarnog ukupnog broja od 35495 du -smc /var /var/log 35495 /var # prikazuje samo /var, a ne prikazuje ukupno /var/log 35495
U uutils-ima: du -smc /var/log /var 1540 /var/log 35495 /var 37033 ukupno # veće od stvarnog, ali se poklapa sa zbirom /var i /var/log du -smc /var /var/log 35495 /var 1540 /var/log 37033, ali su ukupni /var veći od stvarnog /var, ali se poklapa sa /var ukupno #
U Busyboxu: du -smc /var/log /var 1540 /var/log 33955 /var # manje od stvarnih 35495 ukupno du -smc /var /var/log 35495 /var # prikazuje samo /var i ne prikazuje /var/log ukupno 35495
izvor: opennet.ru
