U publikua versioni 0.4.0 i projektit uutils coreutils (Rust Coreutils), që zhvillon një alternativë për paketën GNU Coreutils, e shkruar në gjuhën Rust. Coreutils përmban më shumë se njëqind utilitarë, 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 të Coreutils për platforma të ndryshme, duke përfshirë aftësinë për të punuar në platforma si Windows, Redox dhe Fuchsia.
Rust Coreutils është përdorur si standard në lëshimin e Ubuntu 25.10 dhe aplikohet në distribucione si AerynOS (Serpent OS) dhe Apertis (i zhvilluar nga Collabora). Ndryshe nga GNU Coreutils, implementimi në Rust shpërndahet nën licencën permissive MIT, në vend të licencës copyleft GPL. Gjithashtu, nga e njëjta ekip zhvilluesish po zhvillohen versione të shkruara në Rust të grupeve të utiliteteve util-linux, diffutils, findutils dhe procps, si dhe programeve sed dhe login.
Në versionin e ri të Rust Coreutils:
- Është përmirësuar kompatibiliteti me paketat e testit standard GNU Coreutils, duke kaluar me sukses 544 teste, 12 më shumë se versioni i mëparshëm (532). 56 (68) teste përfunduan me dështim, ndërsa 33 (33) teste u anashkaluan. Niveli i shpallur i kompatibilitetit është 85.80% (ishte 83.91%).
- Në utilitarin data është përmirësuar kompatibiliteti me datën GNU kur përpunohen zona të ndryshme kohore (shtuar mundësia e specifikimit të emrave të shkurtuar të zonave të ndryshme kohore në opsionin —set).
- Në utilitarin factor u angazhua paketa num_prime për të përshpejtuar faktorizimin e tipeve u64/u128.
- Në utilitarin tsort, implementimi i algoritmit të përshkëmbjes DFS është kaluar nga një metodë rekurzive në një metodë iteruese për të parandaluar mbushjen e stack-ut.
- Në utilitarin cksum është realizuar mbështetje për hash-e sha2 dhe sha3. Janë shtuar teste për të ndjekur ndryshimin e performancës së cksum. Funksionaliteti hashsum është transferuar në cksum.
- Në utilitarin mkdir është eliminuar mbushja e stack-ut që shkaktonte mbyllje aksidentale kur krijoheshin shumë (më shumë se 200) katalogë të thelluar.
- Në utilitarët stdbuf dhe uptime është realizuar mbështetje për platformën OpenBSD.
- Janë përmirësuar ndërtimi dhe testimi në platformën FreeBSD.
- Janë bërë përmirësime të përgjithshme për të rritur portabilitetin.
- Janë zgjeruar mundësitë, janë eliminuar problemet dhe janë shtuar opsione të humbura për utilitarët base64, cat, chown, chsum, date, dd, du, factor, hashsum, install, ls, mkdir, od, printenv, printf, readlink, stdbuf, timeout, truncate, tsort, uptime, uudoc.
Gjithashtu, duhet të përmendet divergjenca në sjelljen e utilitarit "du" nga paketat uutils dhe GNU Coreutils, që u shfaq pas kalimit të Ubuntu 25.10 në uutils. Zhvilluesit ende nuk kanë vendosur nëse ta trajtojnë këtë divergjencë si një gabim, pasi nga njëra anë ka logjikë në sjelljen e uutils dhe paketa e testeve GNU Coreutils nuk tregon probleme, por nga ana tjetër, jo-kompatibilitetet me GNU Coreutils duhet të trajtohen si gabime dhe sjellja e Busybox korrespondon me GNU Coreutils.
Një sjellje e ndryshme vërehet kur gjatë përdorimit të utilitarit «du» specifikohen disa direktori, në situatën kur disa prej direktoreve janë nën-direktori të direktoreve të tjera (p.sh., /var dhe /var/log). Uutils tregon madhësinë reale të secilës direktori, ndërsa në linjën përfundimtare jep madhësinë totale të të gjitha drejtimeve të specifikuara. GNU Coreutils tregon në linjën përfundimtare madhësinë reale që drejtoritë e specifikuara zënë në disk, por në listën e ndarë tregon madhësitë e secilës direktori duke përjashtuar nën-drejtori, duke bërë që madhësia e tyre të rezultojë më e vogël se ajo reale. Për më tepër, vlerat e dhëna nga GNU Coreutils dhe Busybox ndryshojnë në varësi të rendit të specifikimit të direktorive.
Për shembull, kur kontrollohet madhësia e direktorive «/var/log» dhe «/var», madhësia reale e të cilave është 1540 dhe 35495 byte, në GNU Coreutils do të dalë: du -smc /var/log /var 1540 /var/log 33955 /var # më pak se e vërteta 35495 total du -smc /var /var/log 35495 /var # shfaqet vetëm /var dhe nuk shfaqet /var/log 35495 total
Në uutils: du -smc /var/log /var 1540 /var/log 35495 /var 37033 total # më shumë se e vërteta, por përputhet me shumën e /var dhe /var/log du -smc /var /var/log 35495 /var 1540 /var/log 37033 total # më shumë se e vërteta, por përputhet me shumën e /var dhe /var/log
Në Busybox: du -smc /var/log /var 1540 /var/log 33955 /var # më pak se e vërteta 35495 total du -smc /var /var/log 35495 /var # shfaqet vetëm /var dhe nuk shfaqet /var/log 35495 total
Burimi: opennet.ru
