Es wurde die erste Version der benutzerdefinierten Linux-Distribution carbonOS vorgestellt, die auf einem atomaren Systemaufbau basiert. Hierbei wird die Grundumgebung als ein ganzes Paket bereitgestellt, ohne in einzelne Pakete aufgeteilt zu werden. Zusätzliche Anwendungen werden im Flatpak-Format installiert und in isolierten Containern ausgeführt. Die Größe des Installationsabzugs beträgt 1,7 GB. Die Entwicklungen des Projekts werden unter der MIT-Lizenz veröffentlicht.
Der Inhalt des Basissystems wird im Nur-Lesen-Modus gemountet, um Änderungen im Falle einer Kompromittierung zu verhindern (zukünftig ist außerdem die Implementierung von Datenverschlüsselung und Integritätsüberprüfung durch digitale Signaturen geplant). Das Verzeichnis /usr/local ist beschreibbar. Der Prozess der Systemaktualisierung beschränkt sich auf das Hintergrundladen eines neuen Systemimages und dessen Umschaltung nach dem Neustart. Dabei bleibt das alte Systemimage erhalten, und der Benutzer kann jederzeit zur vorherigen Version zurückkehren, falls gewünscht oder Probleme auftreten. Während der Entwicklung des Distributionspakets wird die Systemumgebung mit Hilfe des Instruments OSTree (das Image wird aus einem Git-ähnlichen Repository erstellt) und des Build-Systems BuildStream zusammengestellt, ohne Pakete von anderen Distributionen zu verwenden.
Benutzerspezifische Anwendungen werden in Containern isoliert. Neben der Installation von Flatpak-Paketen ermöglicht die Distribution auch die Verwendung des nsbox-Toolkits zur Erstellung beliebiger Container, in denen unter anderem Umgebungen traditioneller Distributionen wie Arch Linux und Debian untergebracht werden können. Zudem wird Unterstützung für das Podman-Toolkit bereitgestellt, das mit Docker-Containern kompatibel ist. Zur Installation der Distribution steht ein grafischer Installer sowie eine initiale Systemkonfiguration zur Verfügung.
Als Dateisystem kommt Btrfs zum Einsatz, wobei die Speicherung von Daten komprimiert wird und Snapshots aktiv verwendet werden. Zur Verarbeitung von Speichermangel in der Systemumgebung wird systemd-oomd eingesetzt, und anstelle einer separaten Swap-Partition wird die Technik swap-on-zram verwendet, die es ermöglicht, auszulagernde Seiten im komprimierten Format zu speichern. In der Distribution ist ein zentralisierter Mechanismus zur Verwaltung von Berechtigungen auf Basis von Polkit implementiert – sudo wird nicht unterstützt, und der einzige Weg, Befehle mit Root-Rechten auszuführen, ist pkexec.
Das Projekt entwickelt seine eigene Benutzerumgebung GDE (Graphite Desktop Environment), basierend auf GNOME 42 und beinhaltet Anwendungen aus der GNOME-Lieferung. Zu den Unterschieden zu GNOME gehören: modernisierte Anmeldebildschirme, ein Konfigurator, Lautstärke- und Helligkeitsindikatoren, eine Graphite Shell sowie ein Panel. Zur Verwaltung der Systemaktualisierungen wird ein Anwendungsmanager auf Basis von GNOME Software verwendet. Für die Verarbeitung von Multimedia-Streams kommt PipeWire zum Einsatz. Es wird eine integrierte Unterstützung für verschiedene Multimedia-Codecs bereitgestellt.
Quelle: opennet.ru
