Проект openSUSE опубликовал альтернативный инсталлятор Agama 5

Разработчики проекта openSUSE опубликовали новый выпуск инсталлятора Agama (бывший D-Installer), развиваемого для замены классического интерфейса установки SUSE и openSUSE, и примечательного отделением пользовательского интерфейса от внутренних компонентов YaST. Agama предоставляет возможность использования различных фронтэндов, например, фронтэнда для управления установкой через web-интерфейс. Для установки пакетов, проверки оборудования, разбивки дисков и прочих необходимых при инсталляции функций продолжают использоваться библиотеки YaST, поверх которых реализованы сервисы-прослойки, абстрагирующие доступ к библиотекам через унифицированный интерфейс D-Bus.

Для тестирования сформированы live-сборки с новым инсталлятором (x86_64, ARM64), поддерживающие установку непрерывно обновляемой сборки openSUSE Tumbleweed, а также редакций openSUSE Leap Micro, SUSE ALP и openSUSE Leap 16, построенных на базе изолированных контейнеров.





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


На текущем этапе развития в инсталляторе доступны сервисы, отвечающие за управление процессом установки, настройки содержимого продукта и списка устанавливаемых программ, настройки языка, клавиатуры и параметров локализации, подготовки устройства хранения и разбивки разделов, вывода подсказки и вспомогательной информации, добавления пользователей в систему, настройки подключения к сети.

Среди целей разработки Agama упоминается устранение имеющихся ограничений графического интерфейса, расширение возможностей по использованию функциональности YaST в других приложениях, уход от привязки к одному языку программирования (D-Bus API позволит создавать надстройки на разных языках) и стимулирование создания альтернативных настроек представителями сообщества.

Интерфейс Agama решено сделать как можно более простым для пользователя, среди прочего убрана возможность выборочной установки пакетов – в настоящее время разработчики обсуждают возможные варианты реализации более простого интерфейса для выбора устанавливаемых программ (в качестве основного варианта рассматривается прототип разделения категорий на основе типовых шаблонов использования, например, графические окружения, инструменты для контейнеров, инструменты для разработчиков и т.п.).

Release. Ссылка here.