W Ubuntu 25.10 postanowiono zastąpić GNU Coreutils narzędziami uutils napisanymi w Rust.

Jon Seager, wiceprezydent firmy Canonical ds. inżynierii i główny lider projektu Ubuntu, przedstawił inicjatywę mającą na celu zastąpienie w Ubuntu systemowych narzędzi odpowiednikami napisanymi w języku Rust. Pierwszym celem inicjatywy ogłoszono wprowadzenie narzędzi uutils jako domyślnych w Ubuntu 25.10 zamiast zestawu narzędzi GNU Coreutils. Jeśli eksperyment okaże się udany, to uutils będą również wykorzystywane domyślnie w wersji LTS Ubuntu 26.04.

Zamiana dotknie ponad stu narzędzi wchodzących w skład Coreutils, w tym sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln i ls. Obecnie narzędzia uutils są już domyślnie stosowane w dystrybucji Apertis opartej na Debianie, a także w niezależnej dystrybucji AerynOS (SerpentOS). Opublikowana w zeszłym tygodniu wersja pakietu uutils coreutils 0.0.30 pomyślnie przeszła 507 testów (poprzednia wersja 506, a przed poprzednią — 476) z zestawu testowego GNU Coreutils. 69 testów zakończyło się niepowodzeniem, a 41 testów zostało pominiętych. W najbliższych tygodniach planuje się również rozpoczęcie pracy nad zastąpieniem w Ubuntu narzędzi su i sudo pakietem sudo-rs. Wśród rozważanych projektów dodatkowo wspomina się o zlib-rs i ntpd-rs.

W Ubuntu 25.10 postanowiono zastąpić GNU Coreutils narzędziami uutils napisanymi w Rust.

Jako powód migracji wskazano chęć zwiększenia niezawodności i bezpieczeństwa narzędzi, które leżą u podstaw dystrybucji. Wykorzystanie Rust pozwoli na zmniejszenie ryzyka wystąpienia błędów związanych z pamięcią, takich jak dostęp do obszarów pamięci po ich zwolnieniu czy przekroczenie granic bufora. Według Jonathana Seagera, zabezpieczenie przed takimi błędami zwiększy bezpieczeństwo, a wraz z poprawą bezpieczeństwa wzrośnie też ogólna niezawodność systemu.

Zauważono, że Canonical rozważa różne metody poprawy jakości, a jedną z nich jest dostarczanie programów, które są początkowo opracowywane z myślą o bezpieczeństwie, niezawodności i poprawności. Dla podstawowych komponentów dystrybucji jest to szczególnie ważne, ponieważ problemy w niskopoziomowym oprogramowaniu wpływają na działanie wszystkich wyższych warstw, na przykład, jeśli w podstawowych pakietach występują problemy z wydajnością, to mają one wpływ na wydajność innych podsystemów.

Aby przetestować wymianę komponentów systemowych w Ubuntu, przygotowano projekt oxidizr, który oferuje narzędzie wiersza poleceń do zarządzania eksperymentami systemowymi związanymi z zastępowaniem tradycyjnych utilitów alternatywami napisanymi w Rust. Obecnie w oxidizr dostępne są eksperymenty umożliwiające domyślne przejście na użycie pakietów uutils coreutils, uutils findutils, uutils diffutils oraz sudo-rs. Na przykład, aby zastąpić w swoim systemie coreutils i findutils, wystarczy wykonać polecenie „sudo oxidizr enable —experiments coreutils findutils”, a aby wrócić do stanu pierwotnego, można użyć polecenia „oxidizr disable”.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster