Microsoft on välja andnud CBL-Mariner 1.0 (Common Base Linux Mariner) distributsiooni, mis on märgitud projekti esimeseks stabiilseks väljalaskeks. CBL-Mariner arendatakse universaalse baasiline platvormina Linuxi keskkondadele, mida kasutatakse pilvinfra- ja servasüsteemides ning erinevates Microsofti teenustes. Projekti eesmärk on ühtlustada Microsoftis kasutatavaid Linuxi lahendusi ning lihtsustada erinevatele eesmärkidele suunatud Linuxi süsteemide ajakohasel hoidmisel. Projekti arendused levivad MIT litsentsi alusel.
Distributsioon pakub väikest standardsete pakettide komplekti, mis toimib universaalse aluseks konteinerite, host- keskkondade ja teenuste loomiseks, mida käitakse pilvinfrastruktuurides ja servaseadmetes. Keerukamaid ja spetsialiseeritud lahendusi saab luua, lisades CBL-Marineri peale täiendavaid pakette, kuid kõigi selliste süsteemide alus jääb muutumatuks, mis lihtsustab hooldust ja uuenduste ettevalmistamist.
Näiteks kasutatakse CBL-Marinerit mini-distro aluseks WSLg jaoks, mis pakub graafikastaki komponente Linuxi GUI-rakenduste käivitamiseks WSL2 (Windows Subsystem for Linux) põhinevates keskkondades. Selle distributsiooni alus jääb muutumatuks, samas kui laiendatud funktsionaalsus saavutatakse täiendavate paketide kaasamise kaudu. serveriga Weston, XWayland, PulseAudio ja FreeRDP.
CBL-Marineri koostesüsteem võimaldab genereerida nii eraldi RPM-pakette SPEC-failide ja lähtekoodide põhjal kui ka monoliitseid süsteemi pilte, mis on moodustatud rpm-ostree tööriistade abil ja uuendatud aatomiliselt, ilma eraldi pakette lahkuma. Vastavalt toetatakse kahte mudelit, mis võimaldavad uuendusi: eraldi pakettide uuendamine ja kogu süsteemi pildi ümber ehitamine ja uuendamine. Sellele distributsioonile on kaasatud vaid hädavajalikud komponendid ning see on optimeeritud minimaalsete mälukasutuse ja kettaruumiga, samuti kiireks laadimiseks. Distribution is notable for including various additional mechanisms to enhance security.
Projektis rakendatakse põhimõtet 'maksimaalne turvalisus vaikimisi'. Pakutakse võimalust filtreerida süsteemi kutsungeid seccomp mehhanismi kaudu, krüpteerida kettasektsioonide sisu ning verifitseerida pakette digitaalsete allkirjade abil. Kogumise etapis on vaikimisi lubatud kaitserežiimid ülekülluse, puhvri ületamise ja stringi vormindamise probleemide vastu (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro). Aktiveeritud on Linuxi tuumas toetatud aadressiruumi rändlustingimused ning mehhanismid sümboolsete linkide, mmap, /dev/mem ja /dev/kmem rünnakute vastu. Mälu aladel, kuhu paigutatakse tuuma ja moodulite andmesegmendid, on seadistatud lugemisrežiim ja keelatud koodi käitamine. Lisavalikuna on saadaval võimalus keelata tuumamoodulite laadimine süsteemi initsialiseerimise järel. Võrgupakettide filtreerimiseks kasutatakse iptables tööriistu.
Готовые 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
Teenuste haldamiseks ja laadimise juhtimiseks kasutatakse süsteemihaldurit systemd. Pakettide haldamiseks on saadaval RPM ja DNF (vmWare'i variant tdnf). SSH server ei käivitu vaikimisi. Jaotuse paigaldamiseks on saadaval installija, mis töötab nii tekstilises kui ka graafilises režiimis. Installija pakub võimalust installida täis- või põhikomplekti pakette ning võimaldab valida ketta jaotust, hostinime ja kasutajate loomist.

Allikas: opennet.ru
