Verkefnið uutils coreutils 0.4.0 (Rust Coreutils), sem er þróun á GNU Coreutils pakkanum, skrifaður í Rust, hefur verið gefið út. coreutils inniheldur yfir 100 tól, þar á meðal sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln og ls. Markmið verkefnisins er að búa til valkost við Coreutils sem virkar á mörgum kerfum, sem getur keyrt á ýmsum kerfum. Windows, Redox og Fuchsia.
Rust Coreutils eru sjálfgefið virkjuð í útgáfunni Ubuntu 25.10 og er notað í AerynOS (Serpent OS) og Apertis (þróað af Collabora) dreifingunum. Ólíkt GNU Coreutils er Rust útfærslan dreift undir leyfilegu MIT leyfi, í stað afritleyfis GPL. Sama teymi forritara þróar einnig Rust-byggðar útgáfur af util-linux, diffutils, findutils og procps forritasvítunum, sem og sed og login forritunum.
Í nýju útgáfunni af Rust Coreutils:
- Bætt samhæfni við GNU Coreutils viðmiðunarpakka, sem stóðst 544 prófanir, 12 fleiri en fyrri útgáfan (532). Fimmtíu og sex (68) prófanir mistókust og 33 (33) prófum var sleppt. Tilkynnt samhæfnihlutfall er 85.80% (áður 83.91%).
- Gagnatólið hefur bætt samhæfni við GNU date við meðhöndlun tímabelta (möguleikinn á að tilgreina stytt nöfn tímabelta í --set valkostinum hefur verið bætt við).
- Þáttaforritið notar num_prime pakkann til að flýta fyrir þáttun u64/u128 týpna.
- Í tsort gagnseminni hefur útfærsla DFS ferlareikniritsins verið skipt úr endurkvæmri yfir í ítrandi aðferð til að koma í veg fyrir staflayflætti.
- cksum gagnið styður nú sha2 og sha3 hash. Viðmiðunarmörk hafa verið bætt við til að fylgjast með afköstum cksum. Hashsum virkni hefur verið flutt yfir í cksum.
- Lagfærði vandamál í staflaflæði í mkdir gagnsemi sem gat valdið hruni þegar búið var til stóran (200+) fjölda innfelldra möppna.
- Stdbuf og uptime tólin styðja nú OpenBSD kerfið.
- Bætt smíði og prófanir á FreeBSD kerfinu.
- Almennar úrbætur hafa verið gerðar til að bæta flytjanleika.
- Aukinn möguleiki, lagfærðir vandamál og bætt við týndum valkostum fyrir veiturnar base64, cat, chown, chsum, date, dd, du, factor, hashsum, install, ls, mkdir, od, printenv, printf, readlink, stdbuf, timeout, truncate, tsort, uptime, uudoc.
Að auki má taka eftir misræmi í hegðun „du“ gagnseminnar frá uutils og GNU Coreutils settunum, sem kom fram eftir breytinguna. Ubuntu 25.10 á uutils. Forritararnir hafa ekki enn ákveðið hvort þeir eigi að meðhöndla þetta misræmi sem villu, þar sem hegðun uutils er rökrétt og prófunarpakkinn í GNU Coreutils sýnir engin vandamál. Hins vegar er ósamrýmanleiki við GNU Coreutils ætlaður til að vera meðhöndlaður sem villur og hegðun Busybox er svipuð og hegðun GNU Coreutils.
Mismunandi hegðun sést þegar margar möppur eru tilgreindar sem viðfangsefni fyrir „du“ gagnið, í tilvikum þar sem sumar möppurnar eru undirmöppur annarra möppna (til dæmis /var og /var/log). Uutils sýnir raunverulega stærð hverrar einstakrar möppu og birtir síðan heildarstærð allra tilgreindra möppna í yfirlitslínunni. GNU Coreutils sýnir raunverulega diskastærð tilgreindra möppna í yfirlitslínunni, en í sérstökum lista birtist stærð hverrar möppu að frádregnum öllum innfelldum möppum, sem gerir það að verkum að stærð þeirra virðist minni en raunveruleg stærð. Ennfremur eru gildin sem GNU Coreutils og Busybox birta mismunandi eftir því í hvaða röð möppurnar eru tilgreindar.
Til dæmis, þegar stærð möppanna "/var/log" og "/var" er athuguð, en raunveruleg stærð þeirra er 1540 og 35495 bæti, þá mun GNU Coreutils prenta: du -smc /var/log /var 1540 /var/log 33955 /var # minna en raunverulegt 35495 samtals du -smc /var /var/log 35495 /var # sýnir aðeins /var og sýnir ekki /var/log 35495 samtals
Í uutils: du -smc /var/log /var 1540 /var/log 35495 /var 37033 samtals # stærra en raunverulegt, en samsvarar summan af /var og /var/log du -smc /var /var/log 35495 /var 1540 /var/log 37033 samtals # meiri raunverulegur en /log, en /var samsvarar summan af raunverulegu /log
Í Busybox: du -smc /var/log /var 1540 /var/log 33955 /var # minna en raunverulegt 35495 samtals du -smc /var /var/log 35495 /var # sýnir aðeins /var og sýnir ekki /var/log 35495 samtals
Heimild: opennet.ru
