Microsoft har udgivet CBL-Mariner 1.0 (Common Base) distributionen Linux Mariner), som er markeret som den første stabile udgivelse af projektet. CBL-Mariner-distributionen udvikles som en universel basisplatform for Linux- miljøer, der anvendes i cloudinfrastruktur, edge-systemer og forskellige Microsoft-tjenester. Projektet har til formål at forene de miljøer, der anvendes i Microsoft. Linux-решений и упрощение поддержания Linux-systemer til forskellige formål i den nuværende tilstand. Projektets udviklinger distribueres under MIT-licensen.
Distributionen giver et lille standardsæt af basispakker, der fungerer som et universelt grundlag for at skabe indholdet af containere, værtsmiljøer og tjenester, der kører i cloud-infrastrukturer og på kant-enheder. Mere komplekse og specialiserede løsninger kan skabes ved at tilføje yderligere pakker oven på CBL-Mariner, men grundlaget for alle sådanne systemer forbliver det samme, hvilket gør vedligeholdelse og opdateringer nemmere.
Например, CBL-Mariner применяется в качестве основы мини-дистрибутива WSLg, в котором предоставляются компоненты графического стека для организации запуска GUI-приложений Linux i miljøer baseret på WSL2-undersystemet (Windows Delsystem til Linux). Основа данного дистрибутива неизменна, а расширенная функциональность реализуется через включение дополнительных пакетов с композитным server Weston, XWayland, PulseAudio og FreeRDP.
CBL-Mariner-byggesystemet giver dig mulighed for at generere både individuelle RPM-pakker baseret på SPEC-filer og kildekode, såvel som monolitiske systembilleder, der er genereret ved hjælp af rpm-ostree-værktøjssættet og opdateret atomisk uden opdeling i separate pakker. Følgelig understøttes to opdateringsleveringsmodeller: gennem opdatering af individuelle pakker og gennem genopbygning og opdatering af hele systembilledet. Distributionen omfatter kun de mest nødvendige komponenter og er optimeret til minimalt forbrug af hukommelse og diskplads, samt høj indlæsningshastighed. Fordelingen er også bemærkelsesværdig for medtagelsen af forskellige yderligere mekanismer for at øge sikkerheden.
В проекте применяется подход «максимальная безопасность по умолчанию». Предоставляется возможность фильтрации системных вызовов при помощи механизма seccomp, шифрования дисковых разделов, верификации пакетов по цифровой подписи. На этапе сборки по умолчанию включены режимы защиты от переполнения стека, переполнений буфера и проблем с форматированием строк (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro). Активированы поддерживаемые в ядре Linux режимы рандомизации адресного пространства, а также механизмы защиты от атак, связанных с символическими ссылками, mmap, /dev/mem и /dev/kmem. Для областей памяти, в которых размещаются сегменты с данными ядра и модулей, установлен режим только для чтения и запрещено исполнение кода. Опционально доступна возможность запрета загрузки модулей ядра после инициализации системы. Для фильтрации сетевых пакетов задействован инструментарий iptables.
Готовые ISO-образы не предоставляются. Подразумевается, что пользователь может сам создать образ с необходимой начинкой (cборочные инструкции предоставлены для Ubuntu 18.04). Доступен репозиторий с уже собранными RPM-пакетами, который можно использовать для компоновки собственных образов на основе файла конфигурации. В репозитории предложено около 3300 пакетов. Например, для сборки полного 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
Systemadministratoren systemd bruges til at administrere tjenester og boote. Til pakkehåndtering leveres pakkeadministratorer RPM og DNF (tdnf-variant fra vmWare). SSH-serveren tænder ikke lydløst. For at installere distributionen leveres et installationsprogram, der kan fungere i både tekst- og grafisk tilstand. Installationsprogrammet giver mulighed for at installere med et komplet eller grundlæggende sæt pakker og tilbyder en grænseflade til at vælge en diskpartition, vælge et værtsnavn og oprette brugere.

Kilde: opennet.ru
