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
Beküldte Leber.Karoly -
Értékelés:
Csak sajnos MIT licenszes és többszörösen lassabb, mint a C+, jó lenne, ha a Mint kimaradna belőle...