Разработчики проекта openSUSE представили инсталлятор Agama 13, разрабатываемый для замены классического интерфейса установки 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.
В новой версии:
- Добавлена страница для настройки имени хоста. В дальнейшем на основе этой страницы планируют создать секцию "System" с системными настройками.
- Добавлен интерфейс для установки с использованием менеджера логических томов LVM (Logical Volume Manager). Ранее определение групп разделов LVM и логических разделов было реализовано в режиме автоматической установки и в интерфейсе командной строки, а теперь добавлено в web-интерфейс.
- Добавлена поддержка регистрации дополнений в SUSE Customer Center для их установки в SUSE Linux Enterprise Server.
- В конфигурации автоматической установки добавлена поддержка определения собственного списка пакетов для установки, не ограничиваясь предлагаемыми готовыми шаблонами. В web-интерфейс возможность выборочной установки пакетов добавлять не планируют (выбор ограничится тематическими наборами).
- В режим автоматической установки добавлена поддержка URL в стиле AutoYaST (например, device://), что позволит загружать сценарии установки из мест, используемых в AutoYaST. Помимо "file:" и "http:" реализована поддержка схем URL "device:", "usb:", "label:", "HD:", "DVD:" и "cd:".
- Реализована возможность автоматического поиска настроек для автоматической установки, который используется, если явно не задан URL сценария установки. В процессе поиска Agama проверит наличие файлов
autoinst.jsonnet, autoinst.json и autoinst.xml в корневом каталоге и
в каталоге OEMDR.
- Добавлена поддержка развёртывания (deploy) произвольных файлов в процессе установки. Подобные файлы должны быть определены в конфигурации через элемент <files />. Возможна как загрузка файлов с внешних серверов, так встраивание файлов непосредственно в конфигурацию автоматической установки.
|