Deweloperzy projektu openSUSE opublikowali wersję instalatora Agama 8 (wcześniej D-Installer), opracowanego w celu zastąpienia klasycznego interfejsu instalacji SUSE i openSUSE, a tym samym oddzielenia interfejsu użytkownika od wewnętrznych komponentów YaST. Agama umożliwia korzystanie z różnych front-endów, na przykład front-endu do zarządzania instalacją przez interfejs webowy. W celu przetestowania nowego instalatora przygotowano wersje live dla architektur x86_64, ppc64le, s390x oraz ARM64, które obsługują instalację openSUSE Leap, ciągle aktualizowanej wersji openSUSE Tumbleweed, a także kilku edycji SUSE ALP opartych na izolowanych kontenerach.
Nowy instalator oferuje funkcje niezbędne do realizacji takich zadań, jak wybór początkowego zestawu aplikacji, konfiguracja połączenia sieciowego, języka, klawiatury, strefy czasowej i parametrów lokalizacji, przygotowanie urządzenia do przechowywania i podziału dysków oraz dodawanie użytkowników do systemu. Wśród głównych celów rozwoju Agama wymienia się usunięcie istniejących ograniczeń interfejsu graficznego, rozszerzenie możliwości wykorzystania funkcji YaST w innych aplikacjach, odejście od uzależnienia od jednego języka programowania i stymulowanie tworzenia alternatywnych ustawień przez przedstawicieli społeczności.
Do instalacji pakietów, sprawdzania sprzętu, podziału dysków i innych niezbędnych funkcji podczas instalacji w Agama nadal wykorzystywane są biblioteki YaST, na których działają usługi pośredniczące, abstrahujące dostęp do bibliotek poprzez zunifikowany protokół komunikacyjny oparty na HTTP. Instalator wykorzystuje architekturę wieloprocesową, dzięki czemu interfejs użytkownika nie jest blokowany podczas wykonywania innych zadań. Podstawowy interfejs do zarządzania instalacją zbudowano z wykorzystaniem technologii webowych. Interfejs webowy napisany jest w JavaScript z wykorzystaniem frameworka React oraz komponentów PatternFly. Usługa do wymiany komunikatów oraz wbudowany serwer HTTP są napisane w języku Ruby.
W nowej wersji zaproponowano nową architekturę, która oznacza przejście od korzystania z gotowych modułów rozwijanych przez projekt Cockpit na rzecz niezależnego frameworka oraz zmodernizowanego interfejsu użytkownika. Zamiast D-Bus, jako głównego protokołu komunikacyjnego do interakcji między komponentami Agama, zastosowano HTTP. Zastąpienie D-Bus przez HTTP rozszerzyło możliwości projektu w zakresie integracji z większymi systemami oraz uprościło organizację instalacji w trybie automatycznym.
Odejście od uzależnienia od Cockpit pozwoliło wyeliminować dodatkowe zewnętrzne zależności, na przykład Cockpit zawiera w zależnościach komponenty napisane w językach Python i C, podczas gdy w Agama stosowane są języki Ruby i Rust. Zakończenie korzystania z Cockpit uwolniło także programistów od ograniczeń, z jakimi się borykali podczas prób wdrożenia automatycznego trybu instalacji oraz przebudowy interfejsu ustawień magazynów w celu osiągnięcia optymalnej równowagi między prostotą dla nowicjuszy a funkcjonalnością dla doświadczonych użytkowników.
Ponadto, zastosowanie nowej architektury znacząco skróciło czas uruchamiania instalatora i zwiększyło jego wydajność, zachowując jednocześnie możliwość korzystania z już sprawdzonych komponentów niskiego poziomu. Z możliwości, które na razie nie zostały przeniesione do nowej realizacji, można wymienić wbudowany emulator terminala oraz narzędzia do zarządzania urządzeniami DASD (Direct Access Storage Device) i zFCP (SCSI-over-Fibre Channel).
Oprócz nowej architektury w Agama 8 zaproponowano całkowicie przebudowany i bardziej funkcjonalny interfejs do konfiguracji magazynów i podziału dysków, w którym zachowano wszystkie podstawowe możliwości klasycznego systemu konfiguracji magazynów YaST oraz pozostawiono narzędzia do zaawansowanej personalizacji, przy jednoczesnej adaptacji dla ułatwienia odbioru przez nowicjuszy. Na przykład, nowy interfejs pozwala na wybór lokalizacji każdego partycji lub logicznej objętości LVM, montowanie lub ponowne formatowanie wcześniej dostępnych systemów plików, konfigurowanie szyfrowania i parametrów uruchamiania oraz zmianę rozmiarów partycji.

Wśród zmian zauważono nowy interfejs do wyboru zestawów aplikacji, poprawę konfiguracji pełnego szyfrowania dysku opartego na TPM, całkowicie przepisany stos sieciowy, modernizację niektórych widżetów, poprawę interfejsów do edytowania parametrów systemu plików i tworzenia użytkowników, bardziej przejrzystą wizualizację problemów występujących podczas instalacji oraz tłumaczenie na 10 języków.
Za miesiąc planowane jest wydanie Agama 9, w którym przewidziana jest znaczna reorganizacja interfejsu webowego, wdrożenie funkcjonalności, które zostały pominięte podczas przejścia na nową architekturę, a także rozszerzenie możliwości instalacji w trybie automatycznym, realizowanej bez udziału człowieka. Celem opracowania jest zapewnienie zgodności z AutoYaST i umożliwienie korzystania z Agama jako alternatywy dla AutoYaST.
Źródło: opennet.ru
