CBL-Mariner 1.0: релиз дистрибутива Linux от Microsoft

Это не ошибка. Рак на горе свистит во всю, потому что у Microsoft есть свой дистрибутив Linux. Имя ему CBL-Mariner. 

Состоялся первый релиз дистрибутива CBL-Mariner 1.0. Аббревиатура CBL означает Common Base (общая база) Linux. Для среды Linux, дистрибутив развивается в виде универсальной базовой платформы. Главная цель проекта — унификация Linux-решений, что применимы и в Microsoft. Также, разработчики хотели упростить процесс поддержания разных Linux-систем в актуальном состоянии.

Что такое CBL-Mariner?

CBL-Mariner — это внутренний дистрибутив Linux. Он создан для облачной инфраструктуры, периферийных устройств, а также услуг Microsoft. CBL-Mariner расширяет возможности Microsoft в отношении обновлений Linux. Этот проект — часть инвестиций Microsoft в технологии Linux. Среди них: SONiC, Azure Sphere OS и Windows Subsystem for Linux (WSL). Что не маловажно, дистрибутив CBL-Mariner с открытым исходным кодом.

Зачем он нужен?

Базовый набор пакетов дистрибутива подходит чтобы:

  • покрыть потребности сторонних облачных и пограничных сервисов, 
  • размещать дополнительные пакеты поверх общего ядра, 
  • создавать образы для своих рабочих нагрузок. 

Это стало возможным благодаря простой системе сборки. Она позволяет:

  • создавать пакет (есть возможность получить желаемый набор пакетов RPM из SPEC и исходных файлов).
  • генерировать изображения (дает желаемые артефакты изображения, такие как ISO или VHD, из заданного набора пакетов).

Преимущества дистрибутива 

CBL-Mariner потребляет ограниченные ресурсы диска и памяти. Этот показатель не зависит от того, развернут ли он в качестве контейнера или его хоста. Дистрибутив достаточно лёгкий. Эта характеристика обеспечивает более быстрое время загрузки.

Когда возникают проблемы с безопасностью, CBL-Mariner поддерживает модель обновления и на основе пакетов, и на основе образа. Также, дистрибутив исправляет проблемы с безопасностью, используя общую систему диспетчера пакетов RPM. Он делает их доступными для загрузки, чтобы сократить время выполнения задач.

Система пакетов и обновлений

Система пакетов CBL-Mariner основана на менеджере RPM. Система обновления пакетов использует dnf и tdnf. CBL-Mariner также поддерживает механизм обновления на основе образов для атомарного обслуживания и отката с использованием rpm-ostree. Этот инструмент нужен для управления структурами файловых систем. Его суть в надежном обновлении и синхронизации хостов Linux с последними пакетами с помощью клиент-серверной архитектуры.

Что касается программного обеспечения. После установки в системе доступны два репозитория пакетов: base и update.

Безопасность по умолчанию

CBL-Mariner следует принципу безопасности по умолчанию. Поэтому, дистрибутив может похвастаться: 

  • усиленным ядром, 
  • подписанными обновлениями, 
  • ASLR, 
  • усилением на основе компилятора,
  • защищёнными от несанкционированного доступа логами и т.д.

Все функции безопасности Mariner есть на GitHub.

Где брать готовые образы?

Важно отметить, что готовые ISO-образы здесь не предоставляются. Сборочные инструкции есть для Ubuntu 18.04. Пользователь может сам создавать любой нужный образ. Для этого есть репозиторий с собранными RPM-пакетами. Их можно использовать как основу для компоновки собственных образов. Выбрать есть из чего, в репозитории найдёте более 3 300 пакетов. Например, для сборки полного iso-образа достаточно этого:

git clone https://github.com/microsoft/CBL-Mariner.git

cd CBL-Mariner/toolkit

sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json

Для управления сервисами и загрузкой есть systemd — системный менеджер. Для управления пакетами — RPM и DNF (вариант tdnf от vmWare). Отметим, что SSH-сервер по умолчанию не включается. Для установки дистрибутива есть инсталлятор, который может работать в двух режимах: как в текстовом, так и в графическом. Там найдёте варианты установки с полным или базовым набором пакетов. Инсталятор также предлагает интерфейс для настройки дискового раздела, выбора имени хоста и создания пользователей.

Итог

Как ни странно, CBL-Mariner очень похож на Fedora или Photon-OS. Именно этим дистрибутивам разработчики выразили благодарность, поскольку команда использовала их SPEC файлы в качестве отправной точки.

А как вы думаете, в самом ядре CBL-Mariner 1.0 зашито не отключаемое автоматическое обновление?)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *