Rust Coreutils 0.4: már több mint 85%-os GNU-kompatibilitással érkezik az új kiadás

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

A Rust Coreutils projekt célja egy modern, biztonságos és hatékony alternatívát nyújtani a GNU Coreutils csomaggal szemben, teljes funkcionalitással és magas kompatibilitással. A most megjelent 0.4-es verzió újabb jelentős mérföldkövet jelöl: a kompatibilitás immár elérte a  A uutils nevű nyílt forráskódú projekt továbbra is dolgozik a széles körben használt GNU Coreutils segédprogramok Rust programozási nyelven belüli újbóli megvalósításán a jobb biztonság érdekében. A "coreutils" egy olyan csomag vagy gyűjtemény a UNIX és UNIX-szerű operációs rendszerekhez (például Linux) tervezett alapvető parancsokból álló programokat tartalmaz. Ezek a parancsok a rendszer alapvető működését segítik elő, és számos fontos funkciót biztosítanak a felhasználók és a rendszergazdák számára. A Rust Coreutils a hagyományos GNU Coreutils parancssori eszközök Rust nyelvű újraírása, amely célja a nagyobb teljesítmény (performance), biztonság és modern Linux disztribúciókhoz való könnyebb alkalmazkodás. Az eszközcsomag tartalmazza a legismertebb parancsokat, mint például cp, stty vagy base64, de Rust nyelvi implementációval, ami gyorsabb és stabilabb működést eredményezhet.   A projekt az utóbbi hónapokban nagy figyelmet kapott, különösen azután, hogy az Ubuntu 25.10 alapértelmezés szerint már ezt a változatot használja.

Egyre szélesebb körű elfogadás: Ubuntu és AerynOS is használja már

A projekt érettsége immár gyakorlati szinten is megjelenik. A fejlesztők kiemelik, hogy:

  • az Ubuntu 25.10 „Questing Quokka”,
  • valamint az AerynOS

már elkezdte átváltani bizonyos rendszereszközeit a Rust Coreutils megvalósításaira. Ez történelmi mérföldkő, hiszen a GNU Coreutils az 1990-es évek óta meghatározó alapvetés minden Unix-szerű rendszerben, és a Rust-alapú alternatíva most először jelenik meg stabil disztribúciókban.

Tovább javuló GNU-kompatibilitás: 544 sikeres teszt, kevesebb hiba

A 0.4-es kiadás fejlesztői szerint:

  • 544 teszt fut sikeresen (a korábbi 532 helyett),
  • a hibák száma 68-ról 56-ra csökkent,
  • így a kompatibilitás elérte a 85,8%-ot, ami jelentős ugrás egy ilyen komplex projekt esetében.

A GNU Coreutils egy rendkívül kiterjedt és több évtizedes múltra visszatekintő eszközkészlet, amely számtalan edge-case-t és POSIX-szabványhoz kötődő részletet tartalmaz. A Rust Coreutils célja ezek mindegyikének újraimplementálása biztonságos Rust-kóddal (memory safety), ami hatalmas mérnöki munka.

Fejlesztések a parancseszközökben: gyorsabb, stabilabb, pontosabb működés

A 0.4-es verzió számos eszközt érint:

Pontosabb időzónakezelés a date eszközben: A GNU-féle működéshez igazodóbb időzónalogika

Megbízhatóbb alapparancsok: Több klasszikus utility kapott hibajavítást, köztük a cat, a comm és a readlink. Ezek a parancsok a Unix rendszerek több mint ötvenéves történetében alapvető szereplők, ezért különösen fontos a teljes kompatibilitás.

Gyorsabb faktorizáció a factor segítségével: A factor parancs immár a num_prime crate-et használja, amely:

  • gyorsabb u64 és u128 felbontást ad,
  • jelentősen javítja a teljesítményt komplex számok esetén.

Ez különösen a matematikai és kriptográfiai kísérleteknél lehet előnyös.

Tsort: új algoritmus a biztonságért: A tsort eszköz teljesen új alapokra került. Az új, iteratív mélységi bejárású algoritmus (iterative DFS algorithm) megelőzi azokat a veremtúlcsordulásokat, amelyek nagy és mély gráfok esetén jelentkeztek.

Cksum: SHA-2 és SHA-3 támogatás: Az egyik legnagyobb változás a cksum új implementációja, amely:

  • benchmark lefedettséget (benchmark coverage) kapott,
  • támogatja a SHA-2 és SHA-3 algoritmusokat,
  • magába integrálja a hashsum funkcióit, amely így megszűnik.

Ez a lépés csökkenti a GNU Coreutils-től való eltéréseket, és hosszú távon egyszerűsíti a felhasználói interfészt.

További javítások több kulcseszközben

A fejlesztők több részletre is kitérnek:

  • A mkdir már biztonságosan kezeli a nagyon mély könyvtárszerkezeteket.
  • A printf javítja a nagy szélességű formátumok kezelését.
  • A dd helyesen dolgozza fel a partial block writes eseteket, különösen az O_DIRECT használatakor.

Ez utóbbi fontos előrelépés, mivel az O_DIRECT közvetlen lemezműveleteket tesz lehetővé a kernel cache megkerülésével – jellemzően adatbázisok és nagy teljesítményű alkalmazások használják.

Bővülő platformtámogatás: OpenBSD és FreeBSD javítások

A Rust Coreutils 0.4 egyik kiemelt célja az volt, hogy a POSIX-szerű rendszerek szélesebb körét támogassa. A kiadás ezért:

  • OpenBSD támogatást ad a stdbuf és uptime parancsokhoz,
  • javítja a FreeBSD-n futó buildet és teszteket.

Ez hosszabb távon hozzájárulhat ahhoz, hogy a Rust Coreutils a Linux mellett a többi Unix-változatban is alternatívává váljon.

A Rust Coreutils 0.4:

  • új szintre emeli a GNU-kompatibilitást,
  • gyorsabb és stabilabb eszközöket kínál,
  • jelentős platformbővítést hoz,
  • és több Linux-disztribúcióban már most aktív használatba került.

A projekt jó ütemben halad afelé, hogy a UNIX világ több évtizedes örökségét modern, memória-biztonságos Rust megvalósítással váltsa fel — miközben a közösségi fejlesztés klasszikus értékeit is megőrzi, akárcsak a Linux rendszereszközök történetének korai időszakaiban. Eközben azonban a közösség is megosztott, hogy kell-e egyáltalán ilyen a 40 éve kimunkált coreutils mellé. Te hogyan látod? Használnád? Használod?

A projekt részletei, valamint a FOSDEM 2025 prezentáció anyagai a hivatalos forrásokban érhetők el.

Mi az a coreutils és az uutils

A "coreutils" egy olyan csomag vagy gyűjtemény a UNIX és UNIX-szerű operációs rendszerekhez (például Linux) tervezett alapvető parancsokból álló programokat tartalmaz. Ezek a parancsok a rendszer alapvető működését segítik elő, és számos fontos funkciót biztosítanak a felhasználók és a rendszergazdák számára.

Néhány példa a coreutils parancsokra:

  • ls: Fájlok és könyvtárak listázása a jelenlegi mappában.
  • cp: Fájlok másolása egyik helyről a másikra.
  • mv: Fájlok vagy könyvtárak áthelyezése egyik helyről a másikra.
  • rm: Fájlok vagy könyvtárak törlése.
  • mkdir: Új könyvtár létrehozása.
  • chmod: Fájlok és könyvtárak engedélyeinek módosítása.
  • grep: Szöveges fájlokban való keresés adott mint

Ezek a parancsok alapvetően elengedhetetlenek a fájlkezeléshez, rendszeradminisztrációhoz és általános szöveges műveletek végrehajtásához a UNIX rendszereken.

Az "uutils" egy olyan projekt, ami a "coreutils" nevű szoftvercsomagot célozza meg a Linux rendszereken. A "coreutils" alapvető parancsokat tartalmaz, mint például a ls, cp, mv, rm, mkdir és még sok más, amelyek elengedhetetlenek a fájlkezeléshez és a rendszer működtetéséhez. Az "uutils" viszont ezeket a parancsokat modernizálni, optimalizálni és új funkciókkal kiegészíteni próbálja, hogy hatékonyabb legyen és több lehetőséget nyújtson a felhasználóknak. Ez egy nyílt forráskódú projekt, amely több fejlesztő közreműködésével folyamatosan fejlődik.

Hozzászólások

Csak sajnos MIT licenszes és

Értékelés: 

0
Még nincs értékelve

Csak sajnos MIT licenszes és többszörösen lassabb, mint a C+, jó lenne, ha a Mint kimaradna belőle...