Разработчиците на проекта 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. Услугата за обмен на съобщения, както и вграденият http-сървър, са написани на Ruby.
В новата версия се предлага нова архитектура, която означава преход от използването на готови модули, разработвани от проекта Cockpit, към независим фреймуърк и модернизиран интерфейс за потребителя. Вместо D-Bus като основен комуникационен протокол за взаимодействие между компонентите на Agama, се използва HTTP. Замяната на 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
