È stato presentato il primo rilascio della distribuzione Linux carbonOS, costruita utilizzando un modello di composizione atomica del sistema, in cui l'ambiente di base viene fornito come un'unica entità, non suddiviso in singoli pacchetti. Le applicazioni aggiuntive vengono installate in formato Flatpak e vengono eseguite in contenitori isolati. La dimensione dell'immagine di installazione è di 1,7 GB. I progressi del progetto sono distribuiti sotto licenza MIT.
Il contenuto del sistema di base è montato in modalità di sola lettura per proteggere da modifiche in caso di compromissione (in futuro si prevede di integrare anche la possibilità di crittografia dei dati e verifica dell'integrità dei file tramite firme digitali). La directory /usr/local è disponibile per la scrittura. Il processo di aggiornamento del sistema consiste nel scaricare in modo trasparente una nuova immagine di sistema e passare ad essa dopo il riavvio. L'immagine di sistema precedente viene conservata e, se necessario o in caso di problemi, l'utente può tornare a una versione precedente in qualsiasi momento. Durante lo sviluppo della distribuzione, l'ambiente di sistema viene assemblato utilizzando lo strumento OSTree (l'immagine è formata da un repository simile a Git) e il sistema di build BuildStream, senza utilizzare pacchetti di altre distribuzioni.
Le applicazioni installate dall'utente sono isolate tra loro in contenitori. Oltre all'installazione di pacchetti Flatpak, la distribuzione consente di utilizzare lo strumento nsbox per creare contenitori arbitrari, in cui possono essere ospitati anche ambienti di distribuzioni tradizionali, come Arch Linux e Debian. Viene fornito anche il supporto per lo strumento podman, che garantisce la compatibilità con i contenitori Docker. Per l'installazione della distribuzione è disponibile un installer grafico e un'interfaccia per la configurazione iniziale del sistema.
Come file system viene utilizzato Btrfs con compressione dei dati memorizzati e applicazione attiva di snapshot. Per gestire le situazioni di mancanza di memoria nel sistema, viene utilizzato systemd-oomd, mentre invece di una partizione di swap separata viene impiegata la tecnologia swap-on-zram, che consente di memorizzare le pagine di memoria soggette a espulsione in forma compressa. La distribuzione implementa un meccanismo centralizzato di gestione dei permessi basato su Polkit — sudo non è supportato e l'unico modo per eseguire comandi con privilegi di root è tramite pkexec.
Il progetto sviluppa il proprio ambiente utente GDE (Graphite Desktop Environment), basato su GNOME 42 e comprendente le applicazioni fornite da GNOME. Tra le differenze rispetto a GNOME: schermata di accesso modernizzata, configuratore, indicatori di volume e luminosità, barra delle applicazioni e shell Graphite Shell. Per gestire l'installazione degli aggiornamenti di sistema viene utilizzato un gestore di applicazioni basato su GNOME Software. Per l'elaborazione dei flussi multimediali si utilizza PipeWire. È fornito supporto integrato per una varietà di codec multimediali.
Fonte: opennet.ru
