Jon Seager, vicepreședintele Canonical pentru inginerie și lider tehnic al proiectului Ubuntu, a prezentat inițiativa de a înlocui utilitarele sistemului Ubuntu cu alternative scrise în Rust. Prima țintă a inițiativei este tranziția Ubuntu 25.10 pentru a utiliza, implicit, instrumentele uutils în locul setului de utilitare GNU Coreutils. Dacă experimentul va fi considerat reușit, uutils vor fi de asemenea integrate în mod implicit în ramura LTS a Ubuntu 26.04.
Înlocuirea va afecta peste o sută de utilitare incluse în Coreutils, cum ar fi sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln și ls. În prezent, utilitarele uutils sunt deja utilizate implicit în distribuția Apertis, bazată pe Debian, precum și în distribuția independentă AerynOS (SerpentOS). Lansarea de săptămâna trecută a pachetului uutils coreutils 0.0.30 a trecut cu succes 507 teste (față de 506 în lansarea anterioară și 476 în lansarea precedentă) din setul de teste de referință GNU Coreutils. 69 de teste au eșuat, iar 41 de teste au fost omise. În săptămânile următoare, se intenționează începerea lucrărilor de înlocuire a utilitarelor su și sudo din Ubuntu cu pachetul sudo-rs. Proiectele considerate includ, de asemenea, zlib-rs și ntpd-rs.

Motivul migrației este dorința de a îmbunătăți fiabilitatea și securitatea utilitarelor de bază ale distribuției. Utilizarea Rust va reduce riscul apariției erorilor în gestionarea memoriei, cum ar fi accesarea memoriei după ce a fost eliberată și depășirea limitelor bufferului. Conform lui Jon Seager, protecția împotriva acestor erori va spori garanțiile de securitate, iar odată cu creșterea securității, va crește și fiabilitatea generală a funcționării sistemului.
Se observă că Canonical evaluează diferite metode de îmbunătățire a calității, iar una dintre acestea este furnizarea de programe dezvoltate inițial având în vedere securitatea, fiabilitatea și corectitudinea. Pentru componentele de bază ale distribuției, acest lucru este deosebit de important, deoarece dacă apar probleme în software-ul de nivel jos, aceste probleme afectează funcționarea tuturor straturilor superioare; de exemplu, dacă pachetele de bază au probleme de performanță, acestea se vor reflecta și în performanța altor subsisteme.
Pentru testarea înlocuirii componentelor de sistem în Ubuntu, a fost pregătit proiectul oxidizr, care oferă un set de unelte de linie de comandă pentru gestionarea experimentelor cu sistemul, ce implică înlocuirea utilitarelor tradiționale cu alternative scrise în Rust. În prezent, în oxidizr sunt disponibile experimente pentru trecerea implicită la utilizarea pachetelor uutils coreutils, uutils findutils, uutils diffutils și sudo-rs. De exemplu, pentru a înlocui coreutils și findutils în sistemul său, este suficient să execute comanda „sudo oxidizr enable —experiments coreutils findutils”, iar pentru a reveni la starea inițială, se poate utiliza comanda „oxidizr disable”.
Sursa: opennet.ro
