W Ubuntu 25.10 GNU Coreutils zostanie zastąpione przez uutils napisane w języku Rust

W Ubuntu 25.10 GNU Coreutils zostanie zastąpione przez uutils napisane w języku Rust

Jon Seager, wiceprezes Canonical ds. inżynierii i lider techniczny projektu Ubuntu, ogłosił inicjatywę polegającą na zastąpieniu domyślnych narzędzi systemowych w Ubuntu odpowiednikami napisanymi w języku Rust. Pierwszym celem tej inicjatywy jest domyślne wdrożenie zestawu narzędzi uutils w Ubuntu 25.10, zastępującego dotychczasowe GNU Coreutils. Jeśli eksperyment zakończy się sukcesem, uutils zostaną również wdrożone jako domyślne narzędzia w wersji LTS Ubuntu 26.04.

Zmiana obejmie ponad sto narzędzi wchodzących w skład Coreutils, w tym sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln oraz ls. Aktualnie narzędzia uutils są już domyślnie stosowane w dystrybucji Apertis opartej na Debianie, a także w niezależnej dystrybucji AerynOS (SerpentOS). Wydany w ubiegłym tygodniu pakiet uutils coreutils 0.0.30 przeszedł pomyślnie 507 testów z referencyjnego zestawu testowego GNU Coreutils (w poprzednim wydaniu było to 506 testów, a dwa wydania wcześniej 476). 69 testów zakończyło się niepowodzeniem, a 41 zostało pominiętych. W nadchodzących tygodniach planowane jest także rozpoczęcie prac nad zastąpieniem w Ubuntu narzędzi su oraz sudo pakietem sudo-rs. Rozważane są również projekty takie jak zlib-rs i ntpd-rs.

Głównym powodem migracji jest chęć zwiększenia bezpieczeństwa i niezawodności narzędzi systemowych, stanowiących podstawę działania dystrybucji. Wykorzystanie języka Rust pozwoli ograniczyć ryzyko błędów związanych z zarządzaniem pamięcią, takich jak odwołanie do pamięci po jej zwolnieniu czy przekroczenie granic bufora. Według Jona Seagera ochrona przed tego typu błędami znacznie zwiększy bezpieczeństwo oraz ogólną stabilność działania całego systemu.

Canonical bada różne sposoby podnoszenia jakości oprogramowania, a jednym z nich jest dostarczanie aplikacji tworzonych z myślą o bezpieczeństwie, niezawodności i poprawności od samego początku. Dla kluczowych komponentów dystrybucji jest to szczególnie istotne, ponieważ problemy w oprogramowaniu niskiego poziomu wpływają na wszystkie wyższe warstwy systemu. Na przykład problemy z wydajnością podstawowych pakietów mogą odbić się na wydajności pozostałych podsystemów.

Aby przetestować wymianę komponentów systemowych w Ubuntu, powstał projekt oxidizr, oferujący narzędzia wiersza poleceń do zarządzania eksperymentami związanymi z zastępowaniem tradycyjnych narzędzi alternatywami napisanymi w Rust. Aktualnie oxidizr umożliwia eksperymentalne wdrożenie pakietów uutils coreutils, uutils findutils, uutils diffutils oraz sudo-rs. Na przykład, aby zamienić coreutils i findutils w swojej instalacji, wystarczy wykonać polecenie:

[object HTMLPreElement]

Aby przywrócić poprzedni stan systemu, można użyć polecenia:

[object HTMLPreElement]
Avatar
Dec 17, 2022

John Carmack odchodzi z Meta. „Zmęczyłem się walką”

Carmack, znany ze swojej pracy w VR i klasycznych grach, takich jak Doom i Quake, rezygnuje ze stanowiska konsultanta CTO w Meta.
0
Feb 10

10 technologii, które zmienią świat w najbliższych dekadach

MIT Technology Review, prestiżowe czasopismo o technologii i innowacjach, od 24 lat publikuje listę 10 przełomowych technologii, które mogą wpłynąć na nasze codzienne życie. W przeszłości ich prognozy obejmowały zarówno celne przewidywania, jak asystenci głosowi (np. Siri) czy przetwarzanie języka naturalnego, jak i mniej trafione koncepcje, np. społecznościową telewizję, która miała umożliwiać wspólne oglądanie programów na odległość.
0
Jul 16

Xbox testuje funkcję streamingu własnych gier na PC

Xbox udostępnił funkcję „stream your own game” dla użytkowników PC w ramach programu Xbox Insider. Subskrybenci Game Pass Ultimate mogą teraz streamować wybrane gry konsolowe, które mają w bibliotece, bez konieczności instalacji — bezpośrednio z poziomu aplikacji Xbox na Windows, – informuje Xbox Wire.
0

This site uses cookies to offer you a better browsing experience.

Find out more on how we use cookies and how to change cookie preferences in our Cookies Policy.

Customize
Save Accept all cookies