Споры между сторонниками Windows и Linux не прекратятся, как и между фанатами различных сборок открытой ОС. Но пока мир замер в ожидании новой Windows 11, Microsoft решила преподнести пользователям большой сюрприз – и представила собственный дистрибутив Linux, CBL-Mariner 1.0.
Мир никогда не станет прежним
CBL-Mariner 1.0 (Common Base Linux) – платформа, на основе которой можно развернуть Linux-окружения в традиционных онлайн-сервисах и в облаке. Инженеры Microsoft ранее использовали дистрибутив во внутренних проектах, в том числе с облачной платформой Azure, основным конкурентом Amazon Web Services. Кроме того, CBL-Mariner является частью WSL2 (подсистемы Windows Subsystem for Linux 2.0 внутри самой популярной ОС на планете) и позволяет запускать Linux-приложения с графическим интерфейсом.
Исходный код CBL-Mariner 1.0 уже есть в открытом доступе – на GitHub. Он распространяется под GNU GPL, MIT и другими открытыми лицензиями.
Особенности CBL-Mariner 1.0
Microsoft не предоставляет готовые образы CBL-Mariner 1.0. Продукт представляет собой набор базовых и около 3 тыс. дополнительных RPM-пакетов в специальном репозитории.
На основе кода можно создать собственную сборку операционной системы, добавляя к основному набору пакетов те, что требуются именно вам. Детальная инструкция об этом пока есть только для Ubuntu 18.04, для остальных дистрибутивов придется идти путем проб и ошибок.
Есть лишь одно ограничение: изменить основной набор пакетов не получится. Такое правило разработчики ввели, чтобы сопровождать продукт и создавать апдейты было проще.
Можно генерировать не только монолитный образ системы, но и отдельные RPM-пакеты на базе исходного кода из репозитория и SPEC-файлов с настройками. Поэтому и обновлять систему предлагается двумя путями: весь образ целиком или каждый конкретный пакет.
Для управления загрузкой в CBL-Mariner 1.0 есть системный менеджер systemd. А пакетные менеджеры RPM и DNF позволяют контролировать отдельные пакеты.
В Microsoft подчеркнули, что в процессе разработки CBL-Mariner 1.0 особое внимание уделяли безопасности. ОС поддерживает шифрование разделов и использует механизм seccomp для фильтрации системных вызовов, а также может проверить подлинность пакета по цифровой подписи.
Области памяти, в которых хранятся фрагменты ядра и модулей, имеют доступ только для чтения – исполнять код здесь не получится. Защита от переполнения стека и буфера активна по умолчанию. Есть и настраиваемые функции: например, можно запретить загружать модули ядра после того, как система завершила инициализацию.
Установка Linux от Microsoft
Готовый инсталлятор входит в комплект CBL-Mariner 1.0. Чтобы установить собственную сборку, можно использовать графический интерфейс, но есть и поддержка консольного режима.
В инсталляторе можно подготовить ISO- или VHD-образ. Предлагается два варианта установки: в режиме Core вы получите только ключевые программы и сервисы, в Full – полный набор пакетов.
Остальные настройки – стандартные. Например, можно задавать раздел для установки CBL-Mariner 1.0, сразу задать имя пользователя, пароль, название хоста и другие параметры.