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 зашито не отключаемое автоматическое обновление?)
Узнать дополнительную информацию про учебные материалы в IT EDUCATION CENTER.