Разработчиците на проекта openSUSE публикуваха нова версия на инсталатора Agama (бивш D-Installer), който се разработва за замяна на класическия интерфейс за инсталиране на SUSE и openSUSE, и е забележителен с отделянето на потребителския интерфейс от вътрешните компоненти на YaST. Agama позволява използването на различни фронтендове, като фронтенд за управление на инсталацията през уеб интерфейс. За инсталиране на пакети, проверка на оборудването, разделяне на дисковете и други необходими функции по време на инсталация продължават да се използват библиотеките на YaST, върху които са реализирани услуги-прослойки, абстрахиращи достъпа до библиотеките чрез унифициран интерфейс D-Bus.
За тестване са създадени live сборки с новия инсталатор (x86_64, ARM64), които поддържат инсталирането на постоянно обновяване на сборката openSUSE Tumbleweed, както и изданията openSUSE Leap Micro, SUSE ALP и openSUSE Leap 16, построени на база изолирани контейнери.


Основният интерфейс за управление на инсталацията е построен с използване на уеб технологии и включва обработчик, осигуряващ достъп до D-Bus повикванията чрез HTTP, и самия уеб-интерфейс. Уеб-интерфейсът е написан на JavaScript с използване на фреймворка React и компоненти от PatternFly. Услугата за свързване на интерфейса с D-Bus, както и вграденият http-сървър, са написани на Ruby и изградени с използване на готови модули, развивани от проекта Cockpit, които също се прилагат в уеб конфигураторите на Red Hat. В инсталатора се използва многопроцесорна архитектура, благодарение на която интерфейсът за взаимодействие с потребителя не се блокира по време на изпълнение на други операции.

На текущия етап на развитие в инсталатора са налични услуги, отговарящи за управлението на процеса на инсталиране, настройките на съдържанието на продукта и списъка с инсталирани програми, настройките на езика, клавиатурата и параметрите за локализация, подготовката на устройството за съхранение и разпределение на дяловете, изхода на подсказки и допълнителна информация, добавянето на потребители в системата, както и настройките за свързване към мрежата.
Сред целите на разработката на Agama е споменато премахването на съществуващите ограничения на графичния интерфейс, разширяването на възможностите за използване на функционалността на YaST в други приложения, отказ от привързаност към един език за програмиране (D-Bus API ще позволи създаването на надстройки на различни езици) и стимулирането на създаването на алтернативни настройки от представители на общността.
Интерфейсът на Agama е решено да бъде възможно най-прост за потребителя, сред други неща е премахната възможността за селективно инсталиране на пакети. В момента разработчиците обсъждат възможни варианти за реализиране на по-прост интерфейс за избор на инсталирани програми (като основен вариант се разглежда прототип на разделение на категориите на база типов шаблони за използване, например, графични среди, инструменти за контейнери, инструменти за разработчици и т.н.).
Източник: opennet.ru
