Tvrtka Microsoft objavila je izdanje distribucije CBL-Mariner 1.0 (Common Base Linux Mariner), koja je označena kao prvo stabilno izdanje projekta. Distribucija CBL-Mariner razvija se kao univerzalna osnovna platforma za Linux okruženja koja se koriste u oblaku, edge sustavima i različitim Microsoftovim uslugama. Projekt ima za cilj unifikaciju Linux rješenja primijenjenih u Microsoftu i pojednostavljenje održavanja Linux sustava različitih namjena u aktualnom stanju. Radovi na projektu licencirani su pod MIT licencom.
Distribucija pruža mali standardni set osnovnih paketa, koji čine univerzalnu osnovu za izradu sadržaja kontejnera, host okruženja i usluga koje se pokreću u oblačnim infrastrukturnim rješenjima i na edge uređajima. Složenija i specijalizirana rješenja mogu se izraditi dodavanjem dodatnih paketa na CBL-Mariner, ali osnova za sve slične sustave ostaje nepromijenjena, što pojednostavljuje podršku i pripremu ažuriranja.
Na primjer, CBL-Mariner se koristi kao osnova za mini distribuciju WSLg, koja pruža komponente grafičkog stacka za pokretanje GUI aplikacija Linuxa u okruženju temeljenom na WSL2 (Windows Subsystem for Linux). Osnova ove distribucije ostaje nepromijenjena, dok se proširena funkcionalnost ostvaruje uključivanjem dodatnih paketa s kompozitnim serverom Weston, XWayland, PulseAudio i FreeRDP.
Sustav gradnje CBL-Mariner omogućuje generiranje i pojedinačnih RPM paketa na temelju SPEC datoteka i izvornog teksta, kao i monolitnih sistemskih slika, koje se formiraju pomoću alata rpm-ostree i ažuriraju atomarno bez razbijanja na pojedinačne pakete. Stoga, podržane su dvije modele isporuke ažuriranja: putem ažuriranja pojedinačnih paketa i putem rekonstrukcije i ažuriranja cijele sistemske slike. Distribucija uključuje samo najsadržajnije komponente i optimizirana je za minimalnu potrošnju memorije i prostora na disku, kao i za visoku brzinu pokretanja. Distribucija se također ističe uključivanjem različitih dodatnih mehanizama za povećanje sigurnosti.
Projekt koristi pristup "maksimalna sigurnost po defaultu". Omogućuje filtriranje sistemskih poziva putem mehanizma seccomp, šifriranje diskovnih particija, verifikaciju paketa putem digitalnog potpisa. U fazi izgradnje po defaultu uključeni su načini zaštite od prelivanja stražnjeg spremnika, prelivanja bafera i problema s formatiranjem stringova (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro). Aktivirani su podržani načini randomizacije adresnog prostora u Linux kernelu, kao i mehanizmi zaštite od napada povezanih sa simboličkim linkovima, mmap, /dev/mem i /dev/kmem. Za područja memorije u kojima se nalaze segmenti s podacima kernela i modula postavljen je način samo za čitanje i zabranjeno je izvršavanje koda. Opcionalno je dostupna mogućnost zabrane učitavanja kernel modula nakon inicijalizacije sustava. Za filtriranje mrežnih paketa koristi se alat 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
Za upravljanje servisima i pokretanjem koristi se sistemski menadžer systemd. Za upravljanje paketima isporučuju se upravitelji paketa RPM i DNF (varijanta tdnf od vmWare). SSH-server po defaultu nije uključen. Za instalaciju distribucije dostupan je instalacijski program koji može raditi u tekstualnom i grafičkom režimu. U instalatoru je moguće odabrati instalaciju s punim ili osnovnim skupom paketa, nudi se sučelje za odabir diskovne particije, odabir imena hosta i kreiranje korisnika.

Izvor: opennet.ru
