Vanilla OS 2 »Orchid«

Vanilla OS 2 »Orchid« Dev Log

Vanilla OS ist eine der interessanten Immutable-Distributionen, die im letzten Jahr das Licht der Linux-Welt erblickt haben. Ein Grund dafür ist, dass das in Vanilla OS vorgestellte Konzept und die darin umgesetzten Ansätze ständiger Entwicklung unterliegen und nichts einen Stammplatz sicher hat. So blieb bei der Entwicklung zu Vanilla OS v2 kaum ein Stein auf dem anderen.

Gestern haben die Entwickler in einem Dev Log die Verbesserungen für Vanilla OS 2 »Orchid« im Detail vorgestellt. Bisher war bereits bekannt, dass die Distribution mit ihrer 2. Auflage von Ubuntu zu Debian Unstable als Grundlage wechselt.

Das Herzstück der unveränderlichen Distribution war eine Technologie namens almost , die dann zu ABRoot umbenannt wurde. ABRoot verwaltet die A/B-Partitionsstruktur, bei der jeweils eine Partition A beschreibbar ist, während B, die andere Partition ein aktualisiertes Abbild bei einem Neustart schreibbar schaltet. Das ist in etwa das Prinzip, was auch bei Android und Chrome OS Verwendung findet.

ABRoot v2

Für »Orchid« wurde ABRoot kräftig zu ABRoot v2 aufgebohrt. Bei der neuen Version handelt es sich nicht nur um ein Update, sondern die gesamte zugrundeliegende Struktur wurde von Grund auf neu durchdacht und geschrieben, um durch die Verwendung von Abbildern im OCI-Image-Format der Open Container Initiative die ideale Lösung für alle Anwendungsfälle zu bieten.

Um weitere Pakete außerhalb des unveränderlichen Basissystems zu installieren, kam in Version 1 der von APT und Distrobox abgeleitete Paketmanager APX ins Spiel, der zusätzliche Software in eigenen Containern installieren konnte. Mit Vanilla OS 2 wandert diese Funktionalität nach ABRoot v2 in einen Paketmanager, der es den Benutzern ermöglicht, solche Pakete ebenfalls mithilfe von atomaren Transaktionen zu verwalten.

abroot pkg add <your-package>
abroot pkg remove <your-package>
abroot pkg apply

Dadurch wird ein lokales Abbild der neuesten Vanilla OS-Version erstellt, wobei die gewünschten Pakete hinzugefügt oder entfernt werden. Dieses neue lokale Abbild wird automatisch mit den neuesten Versionen von Vanilla OS auf dem neuesten Stand gehalten, was wiederum die Komplexität reduziert.

Aufgeteilter Bootvorgang

Ein weiteres wichtiges Merkmal von Vanilla OS 2 ist die Änderung der Boot-Verwaltung. In v1 verwaltete und enthielt eine einzige Boot-Partition die Kernel-Images, initrd und GRUB-Konfiguration. In v2 ändert sich dieser Prozess erheblich, da die Boot-Partition in zwei Teile aufgeteilt wird: Root-Boot und Master-Boot.

Jede Root-Partition (A/B) hat ihr eigenes Boot-Verzeichnis, das die GRUB-Konfiguration, den Kernel und die initrd-Images enthält. Diese Konfigurationen werden dynamisch vom Master-Boot verwaltet, einer allgemeinen GRUB-Konfiguration, die das Umschalten und Laden der Bootdateien von der richtigen Root-Partition auf der Grundlage des Aktualisierungsstatus übernimmt. Dank dieser neuen Struktur ändert der Aktualisierungsprozess den Master-Boot nie, es sei denn atomar, wodurch die Boot-Integrität des Systems sichergestellt wird.

Vanilla Image Builder

Im Discord-Kanal von Vanilla OS wurde lange über eine Variante mit Plasma anstelle von GNOME diskutiert. Diese und andere Varianten scheinen nun mit dem neuen Vanilla Image Builder (Vib) näher gerückt zu sein. Dank des OCI-Image-Systems lässt sich mit Vib in wenigen Minuten ein Abbild erstellen, das das offizielle Abbild mit Modulen um eigene Anpassungen ergänzt. Weitere Informationen und Anleitungen zur Erstellung eigener Abbilder werden nach der Veröffentlichung von »Orchid« folgen.

Neue Struktur

Vanilla OS Orchid besteht aus drei Haupt-OCI-Images:

  • Pico
  • Core
  • Desktop

Pico ist eine minimale (~60MB) Version von Debian, die aus dem Vanilla OS Repository erstellt wurde und als Basis für das Vanilla OS Core Image gedacht ist.

Core ist ein auf Pico basierendes Image, das alle Kernfunktionalitäten von Vanilla OS enthält. Es ist der beabsichtigte Ausgangspunkt für die Entwicklung von OCI-Images für Vanilla OS.

Desktop ist das offizielle Systemabbild, das auf Core basiert. Es bietet die komplette Benutzererfahrung, die für Vanilla OS entwickelt wurde, einschließlich des GNOME-Desktops und alle für Vanilla OS entwickelten grafischen Werkzeuge.

Diese Aufteilung öffnet die Möglichkeit für alle Anwendungsfälle von Servern bis hin zu Desktops. Es erlaubt dem Anwender darüber hinaus, das Basissystem von Debian zu einer anderen Distribution auszutauschen.

APX v2

APX v1 war in der Lage, über Flags wie --dnf für Fedora oder --zypper für openSUSE Pakete aus verschiedenen Distributionen zu installieren. APX v2 bietet diese Möglichkeit nach wie vor, allerdings in Form von Stacks, die je nach den Bedürfnissen des Benutzers konfigurierbar sind.

Ein Stack ist dabei ein Satz von Anweisungen, mit denen eine Umgebung auf der Grundlage einer beliebigen Linux-Distribution konfiguriert werden kann, indem Pakete und Einstellungen nach dem Ermessen des Benutzers hinzugefügt werden. Der Benutzer kann jederzeit einen neuen Stack erstellen, indem er eine Basis-Linux-Distribution, wie etwa Arch Linux, und eine optionale Liste von Paketen festlegt. Mit diesem Stack kann der Benutzer ein oder mehrere neue Subsysteme starten, die auf diesem Stack basieren.

Sobald ein Subsystem erstellt wurde, kann der Benutzer Befehle des Paketmanagers verwenden (installieren, entfernen, aktualisieren usw.) oder das Subsystem betreten, genau wie mit APX v1. Stacks können gemeinsam genutzt und geteilt werden. APX v2 verfügt bereits über eine Reihe von vorkonfigurierten Stacks für den Zugriff auf alle wichtigen Linux-Distributionen.

Dank dieser neuen Struktur kann der Benutzer Stacks für jeden Anwendungsfall erstellen, zum Beispiel einen mit allen Werkzeugen und Bibliotheken, die für die Entwicklung in verschiedenen Bereichen wie 3D-Anwendungen, Musikproduktion, Programmierung usw. nützlich sind. Wenn etwas schiefgeht, kann das Subsystem durch eine Neuinitialisierung wiederhergestellt werden, wobei die Umgebung auf den vom Stack definierten Zustand zurückgesetzt wird.

Vanilla OS Subsystem

Das bereits aus Vanilla OS v1 bekannte Vanilla OS Subsystem (VSO) übernimmt ebenfalls eine erweiterte Rolle. Neben der Verwaltung von Update-Konfigurationen wird es auch die Installation von Deb-, Nix- und Apk-Paketen mit Waydroid übernehmen.

In VSO v2 gibt es ein Subsystem, das auf Vanilla OS Pico basiert. Dieses Subsystem wird ein System-integrierter Container sein, der systemd unterstützt und eine unkomplizierte Installation, Entfernung und Verwaltung von Paketen ermöglicht, sowohl grafisch als auch über die Kommandozeile. Der Benutzer kann jederzeit auf die Kommandozeile zugreifen, um Pakete über dieses Subsystem zu installieren, oder das neue grafische Sideload-Dienstprogramm verwenden, um DEBs oder Android-APKs zu installieren. VSO v2 soll, wenn möglich, in GNOME Software integriert werden.

Sudon’t

Da Vanilla OS ein unveränderliches System ist, sollen alle Änderungen über APX, VSO oder ABRoot erfolgen. Sudo spielt in dem Zusammenhang keine Rolle mehr und wird deshalb entfernt (pkexec bleibt weiterhin verfügbar). Weitere Details und Neuerungen bietet das ausführliche Dev Log. Ein Erscheinungstermin für Vanilla OS »Orchid« ist noch nicht bekannt.

Teilt den Beitrag, falls ihr mögt

Abonnieren
Benachrichtige mich bei
4 Kommentare
Most Voted
Newest Oldest
Inline Feedbacks
View all comments