Разработчиците на проекта openSUSE публикуваха новата версия на инсталатора Agama 8 (известен преди като D-Installer), който се разработва, за да замени класическия интерфейс за инсталиране на SUSE и openSUSE и е забележителен с отделянето на потребителския интерфейс от вътрешните компоненти на YaST. Agama предоставя възможност за използване на различни фронтфенкове, например, фронтфенк за управление на инсталацията чрез уеб интерфейс. За тестване на новия инсталатор са създадени live сборки за архитектурите x86_64, ppc64le, s390x и ARM64, които поддържат инсталацията на openSUSE Leap, непрекъснато обновяваната версия openSUSE Tumbleweed и няколко редакции на SUSE ALP на базата на изолирани контейнери.
В новия инсталатор се предоставят възможности, необходими за решаване на задачи като избор на начален комплект приложения, настройка на мрежово свързване, език, клавиатура, часови пояс и параметри на локализация, подготовка на устройство за съхранение и разделяне на дисковете, добавяне на потребители в системата. Сред основните цели на разработката на Agama се споменава премахването на съществуващите ограничения на графичния интерфейс, разширяването на възможностите за използване на функционалността на YaST в други приложения, освобождаване от привързаност към един език за програмиране и насърчаване на създаването на алтернативни настройки от представители на общността.
За инсталиране на пакети, проверка на хардуера, разделяне на дискове и други необходимост при инсталацията, в Agama продължават да се използват библиотеките на YaST, върху които са реализирани слоеви услуги, абстрахиращи достъпа до библиотеките чрез унифициран комуникационен протокол на базата на HTTP. В инсталатора е използвана многопроцесорна архитектура, благодарение на която интерфейсът за взаимодействие с потребителя не се блокира по време на изпълнението на други операции. Основният интерфейс за управление на инсталацията е построен с помощта на уеб технологии. Уеб интерфейсът е написан на JavaScript с използване на фреймворка React и компонентите на PatternFly. Услугата за обмен на съобщения, както и вграден web-сървър, са написани на Ruby.
В новата версия е предложена нова архитектура, която бележи прехода от използване на готови модули, разработвани от проекта Cockpit, в полза на независим фреймуорк и модернизиран потребителски интерфейс. Вместо D-Bus, HTTP се използва като основен комуникационен протокол за взаимодействие между компонентите на Agama. Заменянето на D-Bus с HTTP разширява възможностите на проекта за интеграция с по-големи системи и опростява организирането на инсталации в автоматизиран режим.
Отказът от обвързаност с Cockpit позволи да се елиминират допълнителни външни зависимости; например, Cockpit съдържа в зависимостите компоненти на Python и C, докато в Agama се използват Ruby и Rust. Прекратяването на използването на Cockpit също освободи разработчиците от ограниченията, с които се сблъскаха по време на опитите за реализиране на автоматичния режим на инсталиране и преработка на интерфейса за конфигуриране на хранилища с цел постигане на оптимален баланс между простота за начинаещи и функционалност за опитни потребители.
Освен това, внедряването на новата архитектура значително намали времето за стартиране на инсталатора и увеличи неговата производителност, като същевременно запази възможността за използване на вече проверени нискоуровневи компоненти. Сред функциите, които все още не са пренесени в новата реализация, се споменават вграден емулатор на терминал и инструменти за управление на устройства DASD (Direct Access Storage Device) и zFCP (SCSI-over-Fibre Channel).
Освен новата архитектура, в Agama 8 е предложен напълно преработен и по-функционален интерфейс за конфигуриране на хранилища и разделяне на дискови дялове, който запазва всички основни възможности на класическата система за конфигуриране на хранилища YaST и предлага средства за разширена персонализация, като същевременно е адаптиран за улесняване на възприемането от начинаещи. Например, новият интерфейс позволява да се избере местоположението на всеки дял или логичен том LVM, да се монтират или форматират отново преди достъпни файлови системи, да се конфигурира шифроване и параметри за зареждане, а също и да се променя размерът на дяловете.

Сред промените се отбелязва нов интерфейс за избор на приложения, подобрена конфигурация на пълно дисково криптиране на базата на TPM, напълно пренаписан мрежови стек, модернизация на някои виджети, подобрени интерфейси за редактиране на параметрите на файловата система и създаване на потребители, по-ясна визуализация на проблемите, възникващи по време на инсталацията, както и превод на 10 езика.
След месец се очаква пускането на Agama 9, в който е планирана значителна реорганизация на уеб интерфейса, реализиране на пропуснатите възможности при преминаването към новата архитектура, както и разширяване на средствата за автоматична инсталация, извършвана без човешко участие. Целта на разработката е осигуряване на съвместимост с AutoYaST и предоставяне на възможност за използване на Agama като алтернатива на AutoYaST.
Източник: opennet.ru
