Az uutils 0.11 kiadása, a GNU Coreutils Rust nyelven készült változata.

Megjelent az uutils coreutils 0.11.0 (Rust Coreutils) kiadása, amely a GNU Coreutils csomag Rust nyelven írt alternatíváját fejleszti. A coreutils több mint száz segédprogramot tartalmaz, beleértve a sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln és ls parancsokat. A projekt célja egy platformfüggetlen alternatív megvalósítás létrehozása a Coreutils számára, többek között a Windows, Redox és Fuchsia platformokon történő működésre képes.

A Rust Coreutils alapértelmezés szerint szerepel az Ubuntu 25.10 kiadásában, és részben az Ubuntu 26.04-ben is. A Rust Coreutils-t az AerynOS (Serpent OS) és az Apertis (a Collabora cég fejleszti) disztribúciókban is alkalmazzák. A GNU Coreutils-al ellentétben a Rust alapú megvalósítás MIT szabadalom alatt terjed, nem pedig a GPL copyleft licenc alatt. Ezen kívül ugyanaz a fejlesztőcsapat Rust nyelven írt analógjait fejleszti a util-linux, diffutils, findutils, procps és acl segédprogramoknak, valamint a sed és login programoknak is.

Az új Rust Coreutils verzióban:

  • A GNU Coreutils referencia tesztkészletével való kompatibilitás szintje 95.33% lett (korábban 94.44%). Összesen 653 tesztet teljesítettek sikeresen, ez 8-cal több, mint az előző verzió (645). 22 teszt nem sikerült (korábban 29), míg 15 tesztet kihagytak (számuk változatlan).
  • Integrálva lett egy új diagnosztikai motor, amely az ariadne könyvtárra épül és vizuális hibaüzeneteket jelenít meg a segédprogramok terminálban való futtatásakor, kiemelve a parancssori argumentumokat, amelyek miatt a probléma felmerült. A hibák vizualizálása a chmod, mkdir, mkfifo, mknod, install, tr, expr, sort, numfmt, cut, env, head, tail, truncate, split, shred, stdbuf, od, seq, dd, stat, join, csplit, ls, df és du segédprogramokban valósul meg. A diagnosztikai jelentések kikapcsolására az UUTILS_DIAG környezeti változó ajánlott.
  • A kiadások építésekor aktiválva lettek az optimalizálások a kódprofilozás (PGO - Profile-guided optimization) alapján, amelyek lehetővé teszik a program futási jellemzőinek elemzése alapján a hatékonyabb kód generálását. A fejlesztők becslése szerint egyes műveletek végrehajtásának teljesítménynövekedése akár 31%-ot is elérhet.
  • A segédprogramok teljesítményének optimalizálása történt: cp (+32.93%), join (2,5-ször gyorsabb, mint a GNU, a felesleges lokális összehasonlítások kikapcsolása miatt), od, ptx (+4%), nl, tail, expand, unexpand, numfmt és sort. A lassabb végrehajtású műveletekről, mint a GNU Coreutilsben jelentkező hibás esetek tekintetében, szintén beszámoltak.
  • Különböző eltéréseket orvosoltak a GNU Coreutils viselkedésével kapcsolatban a pr, numfmt, join, id, mkdir, fold, sort, stat, od és date segédprogramokban.
  • A GNU Coreutils-specifikus opciók valósultak meg: «uname -A», «uname —all-labeled», «cut -F», «cut —whitespace-delimited», «pr —columns», «pr —join-lines», «pr -f».
  • Az mv, cp, rm, chmod, stdbuf segédprogramokban a biztonság fokozására irányuló munkálatok során elkerülhetők azok a sebezhetőségek, amelyek versenyhelyzetből adódnak, lehetővé téve az adatok megváltoztatását az ellenőrzés után, de a művelet végrehajtása előtt, például fájlok szimbolikus hivatkozásra történő cserélése az ellenőrzés befejezése és a művelet megkezdése közötti időszakban. Az cp, chmod és mv segédprogramok root jogosultsággal futó rendszer-skriptekben, hasonló sebezhetőségek lehetővé teszik tetszőleges fájlok másolását vagy felülírását.
  • A split, yes, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac, who segédprogramokban a váratlan programleállások megszüntetése érdekében végzett munka.
  • Megvalósultak a kill és uptime segédprogramok Windows változatai.
  • Megszüntették a byteorder, same-file, filetime, winapi-util, file_diff, mockstream, binary-heap-plus, compare, arrayref (nemrégiben kompromittálva), exacl és dns-lookup csomagok használatát a std, rustix és windows-sys könyvtárak funkcionalitására való áttéréssel.
  • Az ls és comm segédprogramokba bevezetésre került a «collation» helyi tulajdonság támogatása, amely lehetővé teszi a karakterek jelentése szerinti összehasonlítást (például a hangsúlyjelet figyelmen kívül hagyják az összehasonlítás során).
  • Javították a többbájtos karakterek kezelését az nl és cut segédprogramokban.

Továbbá megemelhetjük, hogy a Canonical két kísérleti tartályt képesített ki Rust nyelven történő programfejlesztéshez, amelyek megfelelnek a Dev Container specifikációnak. Az első tartály tartalmazza a Rust 1.93, Cargo, rust-analyzer, Clippy, Rustfmt, Miri (a nem definiálható viselkedés feltárására szolgáló interpreter), cargo-auditable (összeállítások auditálása), GCC, Clang, LLD, pkg-config, Just, Git, Vim, Helix, Ripgrep, Hyperfine, Bacon, xh és curl. A második tartály ezen kívül tartalmazza az Ubuntu fejlesztéséhez szükséges csomagokat: git-buildpackage, sbuild, ubuntu-dev-tools, devscripts, dh-make, dh-cargo, autopkgtest, cargo-vendor-filterer.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster