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