AerynOS, nowa dystrybucja prezentująca się jako infrastruktura z wizją platformy

AerynOS

W długim artykule technicznym, Ikey Doherty (znany z kierowania projektami takimi jak Solus i wkładu w Clear Linux) przedstawia filozofię i architekturę AerynOS, to nowy projekt, którego celem jest przemyślenie sposobu, w jaki system operacyjny powinien zachowywać się w erze infrastruktury jako kodu.

I wcale nie jest to kolejna dystrybucja w ekosystemie Linuksa, AerynOS to gruntowna przebudowa nowoczesnego systemu operacyjnego.

Od dystrybucji do infrastruktury

AerynOS rodzi się z pytania prowokacyjny: „A co jeśli system operacyjny zachowywałby się jak nowoczesna infrastruktura?”. Odpowiedzią jest platforma zbudowana od podstaw, bez przenoszenia starych konwencji tradycyjnych dystrybucji i zamiast modyfikować istniejące systemy, AerynOS zaczyna od czystego fundamentu, wykorzystując poprzednie doświadczenia i podejmując radykalne decyzje architektoniczne w celu zapewnienia spójności, odwracalności i prostoty strukturalnej.

Ikey Doherty wspomina w swoim artykule, że Jedną z najbardziej rzucających się w oczy decyzji jest przyjęcie łańcucha narzędzi LLVM zamiast tradycyjnego GNU, używając domyślnie libc++ i compiler-rt. Wybór ten nie jest podyktowany jedynie preferencjami stylistycznymi, ale także strategią. dla lepszej diagnostyki i większej przenośności. Pomimo tej aktualizacji AerynOS nadal używa biblioteki glibc jako swojej standardowej biblioteki, wybierając ją zamiast musl ze względu na jej lepszą wydajność przy obciążeniach wielowątkowych i wymagających aplikacjach.

Oprócz tego wspomniano, że jeden Jednym z podstawowych założeń AerynOS jest „bezstanowość”: Żaden pakiet nie może instalować plików spoza /usr. To ścisłe rozgraniczenie oddziela przestrzeń użytkownika (/etc, /var) od przestrzeni systemowej, eliminując konflikty scalania i ułatwiając czyste uaktualnienia. Pomysł ten, wywodzący się jeszcze z systemu Clear Linux, ma na celu wymuszenie rozsądnych domyślnych ustawień i uniknięcie zbędnej złożoności, którą często wprowadzają bardziej elastyczne systemy.

Aktualizacje atomowe i odwracalne

AerynOS korzysta z całkowicie nowego systemu zarządzania pakietami o nazwie Moss, który wykonuje transakcje atomowe. Każda aktualizacja tworzy nowe drzewo /usr przy użyciu twardych łączy z deduplikowanego magazynu i jest zamieniana na bieżące drzewo atomowo za pomocą renameat2(). Mechanizm ten gwarantuje, że aktualizacje zostaną w pełni ukończone lub wcale nie zostaną zastosowane, co pozwala uniknąć stanów pośrednich.

Zarządzanie rozruchem również zrywa z tradycją. Dzięki narzędziom takim jak blsforme i disks-rs, AerynOS dynamicznie generuje wiersz poleceń jądra poprzez bezpośrednie odczytywanie superbloków systemu plików, eliminując potrzebę root=. Dodatkowo, każdy rdzeń jest powiązany ze swoją konkretną transakcją, co ułatwia przywracanie systemu z menu rozruchowego i pozwala na odbudowę środowiska rozruchowego od podstaw w przypadku utraty ESP.

Format .stone: nowy sposób pakowania oprogramowania

Kolejnym kluczowym elementem jest Format .stone, nowoczesny pakiet binarny Zaprojektowano z myślą o niezależności wersji i wysokiej wydajności. Każdy plik .stone zawiera:

  • Zdeduplikowana zawartość plików pakietów
  • Indeks skrótu (XXH128, z planami migracji do Blake3)
  • Mapa docelowego systemu plików
  • Metadane wprowadzane automatycznie, takie jak nazwa, wersja, możliwości itp.

Zamiast instalować pliki bezpośrednio, Pliki .stone są przechowywane w magazynie adresowalnym treści (CAS) i są kompilowane jako część transakcji. Takie podejście nie tylko poprawia wydajność, ale również pozwala na łatwe cofnięcie wszelkich zmian.

System zarządzania pakietami nie opiera się na tradycyjnym modelu nakazowym. Twórcy oprogramowania uważają, że polecenia instalacji bezpośredniej „wprowadzają więcej błędów niż rozwiązują”. Zamiast tego każda transakcja tworzy nowy graf systemu, torując drogę dla przyszłego modelu deklaratywnego podobnego do Nix lub Gentoo, w którym pożądany stan systemu jest opisywany zamiast wykonywania poleceń zmiany.

Czy AerynOS jest niezmienny?

Choć często mówi się o nim jako o systemie niezmiennym, sami twórcy wyjaśniają, że nie jest to do końca prawdą. System nie blokuje dostępu tylko do odczytui podczas gdy transakcje zastępują drzewo /usr, Całkowita niezmienność nie została jeszcze wprowadzona. Długoterminowym celem jest osiągnięcie tego celu bez ponownego uruchamiania systemu, wykorzystując technologie takie jak overlayfs i erofs.

Mimo że system znajduje się w fazie alfa, AerynOS ma już dostępne obrazy ISO, obsługuje środowisko GNOME, jest kompatybilny ze Steam, NVIDIA i Flatpak, a także z prawdziwymi użytkownikami, którzy chwalą jego stabilność i wydajność. System działa już na tyle dobrze, że można go testować w warunkach rzeczywistych, choć wciąż znajduje się w fazie rozwoju.

źródło: https://aerynos.com