Разработчики проекта openSUSE представили инсталлятор Agama 15, разрабатываемый для замены классического интерфейса установки 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 16 (доступна альфа-версия) и SUSE Linux Enterprise Server 16 (бета-выпуск ожидается в мае).
Цели разработки Agama: устранение имеющихся ограничений графического интерфейса; расширение возможностей по использованию функциональности YaST в других приложениях; уход от привязки к одному языку программирования; стимулирование создания альтернативных настроек представителями сообщества. Инсталлятор предоставляет такие функции, как выбор начального набора приложений, настройка сетевого подключения, языка, клавиатуры, часового пояса и параметров локализации, подготовка устройства хранения и разбивка разделов, добавления пользователей в систему.
Для установки пакетов, проверки оборудования, разбивки дисков и прочих необходимых при инсталляции функций в Agama продолжают использоваться библиотеки YaST, поверх которых реализованы сервисы-прослойки, абстрагирующие доступ к библиотекам через унифицированный коммуникационный протокол на базе HTTP. В инсталляторе используется многопроцессная архитектура, благодаря которой интерфейс взаимодействия с пользователем не блокируется во время выполнения других работ.
Базовый интерфейс для управления установкой построен с использованием web-технологий. Web-интерфейс написан на JavaScript с использованием фреймворка React и компонентов PatternFly. Сервис для обмена сообщениями, а также встроенный http-сервер, написанный на языке Ruby.
В новой версии:
- Унифицирован интерфейс для настройки языка, раскладки клавиатуры и часового пояса. Ранее настройки локализации отдельно предоставлялись для интерфейса инсталлятора и для устанавливаемого дистрибутива, что вводило пользователей в заблуждение.
- Переделан интерфейс для настройки подключения к беспроводной сети.
- В интерфейсе разбивки дисковых разделов проведена реорганизация контекстных меню и добавлены дополнительные пояснения.
- Предоставлена возможность использования web-интерфейса для регистрации расширений.
- Улучшен режим автоматизированной установки.
- Предоставлена возможность интерактивной настройки параметров iSCSI и DASD при автоматизированной установке.
- Улучшен поиск накопителей и дисковых разделов на целевой системе, а также их сопоставление с имеющимися сценариями автоматизированной установки.
- Добавлено новое свойство mdRaids для создания MD RAID-массивов при автоматизированной установке.
- В настройки загрузчика добавлены опции для управления таймаутом показа загрузочного меню и передачи ядру дополнительных параметров.
- В настройки сети добавлена возможность создания сетевых интерфейсов в режиме сетевого моста.
- В настройках AutoYaST разрешено указание относительных путей в URL.
- В интерфейсе командной строки реализована команда “agama monitor” для отслеживания процесса установки на другой системе.