Lëshimi i Rust Coreutils 0.4. Shkallëzimi i sjelljes së mjetit du në uutils dhe GNU Coreutils

ËshtĂ« publikuar lĂ«shimi i projektit uutils coreutils 0.4.0 (Rust Coreutils), i cili zhvillon njĂ« analog tĂ« paketĂ«s GNU Coreutils, tĂ« shkruar nĂ« gjuhĂ«n Rust. NĂ« grupin coreutils pĂ«rfshihen mĂ« shumĂ« se njĂ«qind utilitete, duke 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 Cross-platform tĂ« Coreutils, i cili ndihmon edhe nĂ« platformat Windows, Redox dhe Fuchsia.

Rust Coreutils është aktivizuar si standard në shpërndarjen Ubuntu 25.10 dhe përdoret në shpërndarjet AerynOS (Serpent OS) dhe Apertis (në zhvillim nga kompania Collabora). Ndryshe nga GNU Coreutils, implementimi në Rust shpërndahet me një licencë të lehtë MIT, në vend të licencës copyleft GPL. Po ashtu, ekipi i njëjtë i zhvilluesve po zhvillon alternativa të shkruara në Rust për paketat e utiliteteve util-linux, diffutils, findutils dhe procps, si dhe për programet sed dhe login.

Në versionin e ri të Rust Coreutils:

  • ËshtĂ« pĂ«rmirĂ«suar kompatibiliteti me setin e standardeve testuese tĂ« GNU Coreutils, gjatĂ« kalimit tĂ« tĂ« cilit janĂ« realizuar me sukses 544 teste, 12 mĂ« shumĂ« se nĂ« versionin e kaluar (532). 56 (68) teste pĂ«rfunduan me dĂ«shtim, ndĂ«rsa 33 (33) teste u injoruan. TĂ« deklaruar nga niveli i kompatibilitetit Ă«shtĂ« 85.80% (ishte 83.91%).
  • NĂ« utilitetin data Ă«shtĂ« pĂ«rmirĂ«suar kompatibiliteti me GNU date pĂ«r procesimin e zonave tĂ« kohĂ«s (Ă«shtĂ« shtuar mundĂ«sia e tregimit tĂ« emrave tĂ« shkurtuar tĂ« zonave tĂ« kohĂ«s nĂ« opsionin —set).
  • NĂ« utilitetin factor Ă«shtĂ« pĂ«rdorur paketa num_prime pĂ«r tĂ« shpejtuar faktorizimin e llojeve u64/u128.
  • NĂ« utilitetin tsort, implementimi i algoritmit DFS Ă«shtĂ« kaluar nga njĂ« metodĂ« rekurzive nĂ« njĂ« metodĂ« iteruese pĂ«r tĂ« parandaluar mbushjen e stack-ut.
  • NĂ« utilitetin cksum Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r hash SHA2 dhe SHA3. JanĂ« shtuar teste pĂ«r tĂ« ndjekur ndryshimin e performancĂ«s sĂ« cksum. Funksionaliteti hashsum Ă«shtĂ« kaluar nĂ« cksum.
  • NĂ« utilitetin mkdir Ă«shtĂ« eliminuar mbushja e stack-ut qĂ« shkaktonte pĂ«rfundimin e papritur kur krijohej njĂ« numĂ«r i madh (mbi 200) katalogĂ«sh tĂ« nĂ«nshkruar.
  • NĂ« utilitetet stdbuf dhe uptime Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r platformĂ«n OpenBSD.
  • ËshtĂ« pĂ«rmirĂ«suar ndĂ«rtimi dhe testimi nĂ« platformĂ«n FreeBSD.
  • JanĂ« kryer pĂ«rmirĂ«sime tĂ« pĂ«rgjithshme pĂ«r tĂ« rritur portabilitetin.
  • JanĂ« zgjeruar mundĂ«sitĂ«, janĂ« eliminuar probleme dhe janĂ« shtuar opsionet qĂ« mungonin pĂ«r utilitetet base64, cat, chown, chsum, date, dd, du, factor, hashsum, install, ls, mkdir, od, printenv, printf, readlink, stdbuf, timeout, truncate, tsort, uptime, uudoc.

Gjithashtu, mund të theksohet që ka një shkëputje në sjelljen e utilitetit "du" nga grupet uutils dhe GNU Coreutils, që u shfaq pas kalimit të Ubuntu 25.10 në uutils. Zhvilluesit ende nuk kanë vendosur nëse të interpretojnë këtë shkëputje si një gabim, pasi nga ana tjetër sjellja e uutils ka logjikë dhe seti testues i GNU Coreutils nuk zbulon probleme, por nga ana tjetër, moskombtaria me GNU Coreutils është e parashikuar të trajtohet si gabim dhe sjellja e Busybox është në përputhje me GNU Coreutils.

Një sjellje e ndryshme vërehet kur në numrin e argumenteve të utilitetit "du" specifikohen disa katalogë, në situatë kur disa prej katalogëve janë nënkatalogë të tjerë (për shembull, /var dhe /var/log). Uutils tregon madhësinë aktuale të secilit katalog të veçantë, ndërsa në rreshtin përfundimtar shfaq madhësinë totale të të gjithë katalogëve të specifikuar. GNU Coreutils tregon në rreshtin përfundimtar madhësinë aktuale që katalogët e specifikuar zënë në disk, por në listën e ndarë tregon madhësitë e secilit katalog me përjashtim të katalogëve të nënshkruar, për shkak të së cilës madhësia e tyre është më e vogël se madhësia aktuale. Për më tepër, vlerat e shfaqura në GNU Coreutils dhe Busybox ndryshojnë në varësi të rendit të specifikimit të katalogëve.

Për shembull, gjatë kontrollit të madhësisë së katalogëve " /var/log" dhe "/var", përkatësisht 1540 dhe 35495 byte, në GNU Coreutils do të shfaqet: du -smc /var/log /var 1540 /var/log 33955 /var # më pak se madhësia aktuale 35495 total du -smc /var /var/log 35495 /var # vetëm /var është shfaqur dhe /var/log nuk është shfaqur 35495 total

Në uutils: du -smc /var/log /var 1540 /var/log 35495 /var 37033 total # më shumë se madhësia aktuale, 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 madhësia aktuale, 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 madhësia aktuale 35495 total du -smc /var /var/log 35495 /var # vetëm /var është shfaqur dhe /var/log nuk është shfaqur 35495 total

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster