Kompania Microsoft publikoi versionin e distribucionit CBL-Mariner 1.0 (Common Base Linux Mariner), i cili shënohet si versioni i parë stabil i projektit. Distribucioni CBL-Mariner po zhvillohet si një platformë bazë universale për mjediset Linux, të përdorura në infrastrukturën e cloud, sistemet edge dhe shërbime të ndryshme të Microsoft. Projekti ka si qëllim unifikimin e zgjidhjeve Linux që përdoren në Microsoft dhe thjeshtimin e mbajtjes të sistemeve Linux të variablave në përditshmëri. Punimet e projektit shpërndahen nën licencën MIT.
Distribucioni ofron një grup të vogël standard paketash, që shërbejnë si një themel universale për krijimin e konteinerëve, mjediseve host dhe shërbimeve, që ekzekutohen në infrastrukturat e cloud dhe në pajisjet edge. Zgjidhje më komplekse dhe të specializuara mund të krijohen duke shtuar paketa të tjera mbi CBL-Mariner, por baza për të gjitha sistemet e tilla mbetet e pandryshuar, çka thjeshton mbështetje dhe përgatitjen e përditësimeve.
Për shembull, CBL-Mariner përdoret si bazë për mini-distribucionin WSLg, i cili ofron komponentët e stack-ut grafik për të organizuar ekzekutimin e aplikacioneve GUI Linux në ambientet e bazuara në nën-sistem WSL2 (Windows Subsystem for Linux). Baza e këtij distribuicioni mbetet e pandryshuar, ndërsa funksionaliteti i zgjeruar realizohet përmes përfshirjes së paketimeve shtesë me komponim. serverin Weston, XWayland, PulseAudio dhe FreeRDP.
Sistemi i ndërtimit CBL-Mariner lejon gjenerimin e paketave të veçanta RPM mbi bazën e skedarëve SPEC dhe kodit burimor, si dhe imazhe sistemike monolitike, të formuara me ndihmën e mjeteve rpm-ostree dhe të përditësuara atomikisht pa u ndarë në paketa të veçanta. Kështu, mbështeten dy modele të shpërndarjes së përditësimeve: përmes përditësimit të paketave të veçanta dhe përmes rinovimit dhe përditësimit të gjithë imazhit sistemik. Distribucioni përmban vetëm komponentët më të nevojshëm dhe është optimizuar për konsum minimal të memories dhe hapësirës disk, si dhe për shpejtësi të lartë ngarkimi. Ai gjithashtu dallon me përfshirjen e mekanizmave të ndryshëm shtesë për rritjen e sigurimit.
Projekti përdor një qasje "siguri maksimale si parazgjedhje". Ofron mundësinë e filtrimit të thirrjeve sistemike përmes mekanizmit seccomp, enkriptimin e ndarjeve të disqeve, verifikimin e paketave me nënshkrimin digjital. Në fazën e ndërtimit, janë aktivizuar automatikisht modet e mbrojtjes nga mbiprakësimi i stack-ut, mbiprakësime të buffer-ave dhe çështje me formatimin e vargjeve (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro). Janë aktivizuar modet e randomizimit të hapësirës së adresave të mbështetur në bërthamën Linux, si dhe mekanizmat e mbrojtjes nga sulmet që lidhen me lidhjet simbolike, mmap, /dev/mem dhe /dev/kmem. Për zonat e memories, ku vendosen segmente me të dhëna të bërthamës dhe moduleve, është vendosur një modalitet vetëm për lexim dhe ndaluar ekzekutimin e kodit. Në mënyrë opsionale, ofrohet mundësia për të ndaluar ngarkimin e moduleve të bërthamës pas inicializimit të sistemit. Për filtrimin e paketave rrjetësorë, përdoret mjeti 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
Për menaxhimin e shërbimeve dhe ngarkesës, përdoret menaxheri i sistemit systemd. Për menaxhimin e paketave, ofrohen menaxherët e paketave RPM dhe DNF (varianti tdnf nga vmWare). Serveri SSH nuk aktivizohet automatikisht. Për instalimin e distribucionit ofrohet një instalues, që mund të punojë në mënyrë teksti ose grafike. Në instalues ofrohet mundësia e instalimit me një grup të plotë ose bazë paketash, si dhe një ndërfaqe për zgjedhjen e ndarjes së diskut, zgjedhjen e emrit të hostit dhe krijimin e përdoruesve.

Burimi: opennet.ru
