Разработчики проекта openSUSE представили инсталлятор Agama 17, разрабатываемый для замены классического интерфейса установки SUSE и openSUSE, и примечательный отделением пользовательского интерфейса от внутренних компонентов YaST. Agama поддерживает использование различных фронтэндов, например, фронтэнда для управления установкой через web-интерфейс. Код компонентов инсталлятора распространяется под лицензией GPLv2 и написан на языках Ruby, Rust и JavaScript/TypeScript.
Для тестирования нового инсталлятора сформированы live-сборки для архитектур x86_64, ppc64le, s390x и ARM64. В сборках доступны для установки бета-версия openSUSE Leap 16, непрерывно обновляемые сборки openSUSE Tumbleweed и openSUSE Slowroll, а также редакция MicroOS на базе контейнеров и openSUSE Leap Micro 6.2. Инсталлятор будет поставляться в составе openSUSE Leap 16 (доступен кандидат в релизы) и SUSE Linux Enterprise Server 16 (на стадии бета-тестирования).
Цели разработки Agama: устранение имеющихся ограничений графического интерфейса; расширение возможностей по использованию функциональности YaST в других приложениях; уход от привязки к одному языку программирования; стимулирование создания альтернативных настроек представителями сообщества. Инсталлятор предоставляет такие функции, как выбор начального набора приложений, настройка сетевого подключения, языка, клавиатуры, часового пояса и параметров локализации, подготовка устройства хранения и разбивка разделов, добавления пользователей в систему.
Для установки пакетов, проверки оборудования, разбивки дисков и прочих необходимых при инсталляции функций в Agama продолжают использоваться библиотеки YaST, поверх которых реализованы сервисы-прослойки, абстрагирующие доступ к библиотекам через унифицированный коммуникационный протокол на базе HTTP. В инсталляторе используется многопроцессная архитектура, благодаря которой интерфейс взаимодействия с пользователем не блокируется во время выполнения других работ.
Базовый интерфейс для управления установкой построен с использованием web-технологий. Web-интерфейс написан на JavaScript с использованием фреймворка React и компонентов PatternFly. Сервис для обмена сообщениями, а также встроенный http-сервер, написаны на языке Ruby. Интерфейс показывается в браузере, который запускается в графическом окружении на базе Wayland (создаётся урезанное окружение на базе композитного менеджера Mutter и Firefox).
В новой версии:
|