Разработчики проекта openSUSE опубликовали выпуск инсталлятора Agama 9, разрабатываемого для замены классического интерфейса установки SUSE и openSUSE, и примечательного отделением пользовательского интерфейса от внутренних компонентов YaST. Agama предоставляет возможность использования различных фронтэндов, например, фронтэнда для управления установкой через web-интерфейс. Для тестирования нового инсталлятора сформированы live-сборки для архитектур x86_64, ppc64le, s390x и ARM64, поддерживающие установку openSUSE Leap, непрерывно обновляемой сборки openSUSE Tumbleweed, а также нескольких редакций SUSE ALP на базе изолированных контейнеров.
В инсталляторе предоставляются возможности, необходимые для решения таких задач, как выбор начального набора приложений, настройка сетевого подключения, языка, клавиатуры, часового пояса и параметров локализации, подготовка устройства хранения и разбивка разделов, добавления пользователей в систему. Среди основных целей разработки Agama упоминается устранение имеющихся ограничений графического интерфейса, расширение возможностей по использованию функциональности YaST в других приложениях, уход от привязки к одному языку программирования и стимулирование создания альтернативных настроек представителями сообщества.
Для установки пакетов, проверки оборудования, разбивки дисков и прочих необходимых при инсталляции функций в Agama продолжают использоваться библиотеки YaST, поверх которых реализованы сервисы-прослойки, абстрагирующие доступ к библиотекам через унифицированный коммуникационный протокол на базе HTTP. В инсталляторе используется многопроцессная архитектура, благодаря которой интерфейс взаимодействия с пользователем не блокируется во время выполнения других работ. Базовый интерфейс для управления установкой построен с использованием web-технологий. Web-интерфейс написан на JavaScript с использованием фреймворка React и компонентов PatternFly. Сервис для обмена сообщениями, а также встроенный http-сервер, написаны на языке Ruby.
В новой версии:
- Предложена новая реализация web-интерфейса, в которой использована классическая компоновка и добавлена боковая панель для навигации по всем этапам установки. Решены проблемы с масштабированием web-интерфейса при добавлении новой функциональности. Значительно изменены отдельные секции в интерфейсе, особенно заметно переработана страница для настройки подключения к сети.
- Расширены возможности для установки в автоматическом режиме, проводимой без участия человека. При выполнении профилей на языке определения конфигурации jsonnet предоставлено больше информации об оборудовании. Реализована новая секция “legacy-autoyast-storage”, позволяющая использовать содержимое секций из AutoYaST. Обновлён интерфейс командной строки, в котором появилась поддержка редактирования конфигурации во внешнем редакторе.
- Обеспечена частичная совместимость с профилями автоматической установки, созданными для AutoYaST, которые могут импортироваться в Agama и конвертироваться в собственный формат. Из-за различий в функциональности, не все элементы конфигурации AutoYaST доступны, но разработчики планируют обеспечить поддержку наиболее значимых секций,
таких как секции “partitioning”, “networking”, “software” и “scripts”. Поддерживаются правила, классы, встраивание кода на языке Ruby и определение скриптов, вызываемый перед применением изменений. - Модернизирована начинка установочного носителя (Live ISO). Добавлена поддержка установки дополнительных пакетов в Live-окружение (БД c информацией о пакетах теперь не блокируется, что позволяет устанавливать и обновлять любые пакеты после загрузки в Live-режиме). Вместо фиксированного пароля “linux” для входа с правами root в системное окружения загрузочного носителя предоставлена возможность определения собственного пароля или генерации случайного пароля, который будет показан после загрузки в локальной консоли вместе со слепками сгенерированных SSH-ключей и TLS-сертификатов.