Проект Fedora опубликовал первый выпуск модульного серверного дистрибутива Boltron
Проект Fedora представил предварительный выпуск проекта Boltron, в рамках которого развивается новая серверная редакции дистрибутива Fedora, построенная на модульной основе. Конечные приложения в Boltron поставляются в виде отдельно обновляемых модулей, жизненный цикл которых не привязан к другим приложениям и основной начинке дистрибутива.
Поддержка приложений, выделенных в модули, осуществляется независимо от релизов дистрибутива, что позволяет обеспечить сосуществование пакетов с разными версиями одного и того же приложения. Модульная организация позволяет пользователю переходить на новые значительные выпуски приложения не дожидаясь нового релиза дистрибутива и оставаться на старых, но ещё поддерживаемых, версиях после обновления дистрибутива. Каждый модуль включает базовое приложение и необходимые для его работы библиотеки или может использовать в качестве зависимостей другие модули.
В настоящее время для установки доступно 25 модулей на базе пакетов из Fedora 26, среди которых наборы компонентов для базовой системы и контейнеров, а также модули с приложениями для развёртывания dhcp, haproxy, apache httpd, mariadb, memcached, mongodb, nginx, node.js, perl, php, postfix, postgresql, sssd и varnish. Модули оформлены в виде сгруппированных rpm-пакетов, что позволяет формировать на их базе образы готовых для установки контейнеров Docker. В рамках одной базовой версии модуля обеспечивается обратная совместимость и неизменность ABI. Для каждой базовой версии модуля предусмотрен отдельный канал для доставки корректирующих обновлений.
Для установки базовой системы подготовлен образ контейнера для системы Docker (запустить можно командой «docker run --rm -it registry.fedoraproject.org/f26-modular/boltron»). После запуска контейнера предлагается использовать пакетный менеджер dnf для установки дополнительных модулей, список которых можно посмотреть командой «dnf module list», а для установки следует использовать обычную команду «dnf install имя_модуля» (дополнительно можно уточнить ветку и версию, например, доступны два варианта node.js — nodejs-8 c Node.js 8.2 и nodejs-f26 c Node.js 6.11). Для обновления применяется привычная команда «dnf update».
© OpenNet