Vanilla OS 2 “Orchid” als Beta-Version erschienen

Aus LinuxUser 05/2024

Vanilla OS 2 “Orchid” als Beta-Version erschienen

© Inna Felker / 123RF.com

Die Linux-Orchidee

Vanilla OS 2 nutzt Debian als Grundlage für ein sicheres Betriebssystem, das vor innovativen Techniken nur so strotzt.

Im Herbst 2022 tauchte eine vielversprechende neue Distribution auf dem Radar auf: Vanilla OS. Sie holt das Container-basierte Immutable-Konzept mit einem lediglich lesbaren Root-Dateisystem aus der Enterprise-Ecke und verfrachtet es auf den Desktop [1]. Darüber hinaus verspricht Vanilla OS, aus dem hauseigenen Paketmanager heraus Pakete anderer Paketmanager in Containern installieren zu können.

Hinter Vanilla OS stehen die beiden italienischen Entwickler Mirko Brombin und Luca di Maio. Letzterer entwickelte Lilypod, Podman-Launcher und Distrobox, das bei Vanilla OS eine wichtige Rolle spielt. Brombin ist unter anderem Autor von Bottles, einer bei Gamern bekannten App. Die erste Ausgabe der Distribution basierte auf Ubuntu 22.04; beim derzeit als Beta-Version verfügbaren Vanilla OS 2 wird Debian Unstable als Grundlage dienen [2]. Wie groß das Interesse an Vanilla OS 2 ist, belegen über 13 000 Downloads der Beta-Version in den ersten 24 Stunden. Dazu dürfte auch die Möglichkeit beigetragen haben, Android-Apps in Form von APKs nutzen zu können.

Schon die erste Veröffentlichung von Vanilla OS stellte interessante Konzepte vor, aus heutiger Sicht wirkt sie jedoch eher wie eine Machbarkeitsstudie mit vielen Ecken und Kanten. In der aktuellen Beta-Version zu Vanilla OS 2 mit dem Beinamen “Orchid” steckt, darauf aufbauend, ein Jahr intensiver Entwicklung, die sich auf dem Discord-Kanal des Projekts live verfolgen ließ. Konzepte wie ein ausschließlich lesbares Root-Dateisystem – es basiert auf dem von Android und ChromeOS bekannten A/B-Root-System mit atomaren Updates und Rollback – und den Paketmanager, der Pakete aus anderen Distributionen installieren kann, haben die Entwickler beibehalten. Ebenfalls unverändert ist mit Gnome die Wahl der Desktop-Umgebung. Den Code dagegen haben Brombin und di Maio in weiten Teilen neu geschrieben. Außerdem kam unter anderem die Möglichkeit dazu, eigene Images von Vanilla OS mit anderen Desktops und Paketbeständen zu erstellen.

Auf der Webseite preisen die Entwickler ihr System als für Heimanwender und Gamer sowie für die Arbeit und für Programmierer gleichermaßen geeignet an. Für den heimischen Einsatz sprechen die ansehnliche und benutzerfreundliche Oberfläche sowie die Tatsache, dass es ohne Mutwillen extrem schwerfällt, das System zu beschädigen. Entwickler können sich auf einen Paketfundus verschiedener Distributionen freuen und die benötigten Anwendungen in Containern getrennt vom eigentlichen System installieren. Vanilla OS will also mit “Orchid” den Spagat schaffen, einerseits immutabel und damit sicher vor ungewollten Änderungen zu sein und andererseits weitestgehend anpassbar zu bleiben.

Barrierefrei und sicher

Zusätzlich legt Vanilla OS Wert auf größtmögliche Barrierefreiheit und den Schutz der Privatsphäre. Die Distribution sammelt keine Daten über die Benutzer und dementsprechend fließen keinerlei Informationen an Dritte ab. In Sachen Sicherheit setzt Vanilla OS ebenfalls Maßstäbe, indem es etwa das weitverbreitete, aber nicht durchgehend sichere Sudo durch sorgfältig ausgearbeitete, aktionsspezifische Polkit-Richtlinien ersetzt. Die im Rahmen des Projekts Linux Immutability Tools entstandenen Programme FsGuard und FsWarn überwachen das System beim Hochfahren und ermöglichen im Fall von Inkonsistenzen bei den System-Binaries den Start des vorherigen Zustands.

Die Module, aus denen “Orchid” besteht, tragen zum Teil von griechischen Göttern und Gelehrten entlehnte Namen. Daneben finden sich Abkürzungen wie Apx, Vib und VSO. Der Vanilla Image Builder (Vib) übernimmt das Erstellen der Abbilder. Damit bauen nicht nur die Entwickler ihre Vanilla-OS-Images: Anwender können damit eigene, auf Vanilla OS oder anderen Distributionen aufbauende Abbilder erzeugen. Weitere in “Orchid” verfügbare Tools umfassen ABRoot, den Installer Albius, den Paketmanager Apx samt GUI, das Image-Repository Atlas, den Dokumentationsserver Chronos, den APT-Repository-Browser Eratosthenes, den Dateisystemschutz FsGuard, die Container-Bibliothek Prometheus und den Vanilla System Operator VSO.

Auf die Platte gebannt

Das Image von “Orchid” in der Beta-Version zeigt sich mit 1,61 GByte vergleichsweise schlank und lässt sich von Github herunterladen [3]. Das setzt allerdings aus nicht wirklich nachvollziehbaren Gründen ein Github-Konto voraus. Die Grundvoraussetzungen zur Installation umfassen UEFI (Legacy Boot per BIOS wird nicht unterstützt), einen wenigstens 8 GByte großen USB-Stick, mindestens 50 GByte Platz auf einem Speichermedium (Abbildung 1) sowie 4 GByte RAM. Mehr Platz auf der Platte und im Arbeitsspeicher schaden freilich nicht.

Abbildung 1: Die minimale Anforderung von 50 GByte für die Installation begründet sich im Vorhandensein von zwei Root-Dateisystemen, die je rund 20 GByte Platz erhalten.

Abbildung 1: Die minimale Anforderung von 50 GByte für die Installation begründet sich im Vorhandensein von zwei Root-Dateisystemen, die je rund 20 GByte Platz erhalten.

Nach dem ersten Start landen Sie direkt im auch für Anfänger problemlos zu bedienenden Installer. Beim Auswählen des Installationsmediums (Abbildung 2) greift eine Automatik, die die gesamte Festplatte verwendet. Dabei kommt LVM Thin Provisioning zum Einsatz, womit den beiden Root-Partitionen dynamisch Speicherplatz zugewiesen wird. Alternativ steht eine manuelle Partitionierung bereit. Bei Bedarf verschlüsseln Sie die Installation mit LUKS2. Nachdem Sie die vorzunehmenden Änderungen bestätigt haben, beansprucht die Installation nur wenige Minuten. Zum Ausprobieren lässt sich eine virtuelle Maschine nutzen [4].

Abbildung 2: Der simpel gehaltene Installer von Vanilla OS 2 bietet bei der Partitionierung im Vergleich zum Vorgänger einen manuellen Modus, der bei Bedarf das Verteilen der Installation auf mehrere Partitionen erlaubt.

Abbildung 2: Der simpel gehaltene Installer von Vanilla OS 2 bietet bei der Partitionierung im Vergleich zum Vorgänger einen manuellen Modus, der bei Bedarf das Verteilen der Installation auf mehrere Partitionen erlaubt.

Der Neustart in das installierte System führt in die Ersteinrichtung. Neben dem Anlegen eines Benutzers und dem Festlegen auf einen Host-Namen entscheiden Sie hier, ob Sie nur ein schlankes Gnome-System bevorzugen oder auch eine Bürosuite und weitere Tools installiert werden sollen. Beim anschließenden Neustart zeigt Grub bereits beide Dateisysteme des A/B-Root-Systems an und definiert sie als Current und Previous. Zu guter Letzt finalisiert der Installer das System nach den vorausgegangenen Vorgaben und integriert die ausgewählten Anwendungen als Flatpaks, sofern es sich nicht um Treiber oder systemnahe Anwendungen handelt.

Tour d’Orchid

“Orchid” verfügt über eine Tour für Neueinsteiger, bei der Sie Vorgaben für Updates vornehmen und weitere Anwendungen aus dem Angebot aus dem Gnome-App-Store installieren oder vom System installierte Anwendungen entfernen. Auf den ersten Blick unterscheidet sich die Gnome-Shell von Vanilla OS vom Aussehen her nicht allzu sehr vom Look traditioneller Distributionen wie Fedora oder Ubuntu (Abbildung 3). Im App-Grid fällt lediglich der Paketmanager Apx auf. Das Vorhandensein von Flatseal deutet darauf hin, dass Flatpaks bei Vanilla OS die erste Geige spielen, wenn auch bei Weitem nicht die alleinige.

Abbildung 3: Die Gnome Shell von "Orchid" begrüßt Sie mit dem gewohnten Aussehen. Nichts deutet auf die verborgenen Fähigkeiten des Systems hin.

Abbildung 3: Die Gnome Shell von “Orchid” begrüßt Sie mit dem gewohnten Aussehen. Nichts deutet auf die verborgenen Fähigkeiten des Systems hin.

Zum Installieren von Binärpaketen diverser Varianten kommt Apx zum Einsatz. Die darüber installierten Anwendungen sind eng mit dem Host integriert und können auf dessen Hardware zugreifen. Apx gebietet dabei über die Paketmanager Ame, Apt, Dnf, AUR, APK, Zypper, Xbps und Nix. Möchten Sie Pakete aus den Archiven eines dieser Paketmanager installieren, landen Sie in einem Container, den Sie zunächst erstellen müssen und den Vanilla OS als Subsystem bezeichnet. Container erstellen Sie in Apx grafisch oder ziehen sie im Terminal hoch und befüllen sie dort (Abbildung 4).

Abbildung 4: Nach dem Erstellen von Distributions-Containern (hier f&uuml;r OpenSuse und Fedora) lassen sich darin mit Apx Anwendungen installieren, wie im Bild das Paket <span class="ui-element">ncdu</span> aus den Fedora-Archiven.

Abbildung 4: Nach dem Erstellen von Distributions-Containern (hier für OpenSuse und Fedora) lassen sich darin mit Apx Anwendungen installieren, wie im Bild das Paket ncdu aus den Fedora-Archiven.

Aktualisieren

Systemaktualisierungen finden standardmäßig automatisch statt und greifen erst beim nächsten Reboot (Abbildung 5). Die Steuerung übernimmt VSO, der Vanilla System Operator. Er spielt alle aufgelaufenen Änderungen nach dem Prinzip “alle oder keiner” als Image auf. Geht dabei etwas schief, startet der vorherige funktionierende Zustand, sodass das System nie in einen inkonsistenten Zustand gerät. Hinter VSO v2 steckt mehr als ein Update-Manager: Das Tool dient als System-Shell sowie Paketmanager und bietet Unterstützung für Android-Anwendungen. Beim Öffnen des Terminals, das bei “Orchid” Console heißt, landet der Anwender nicht in der System-Shell, sondern in VSO, das in einem Container läuft.

Abbildung 5: Die Funktion <span class="ui-element">Smart Updates</span> verlegt Updates in eine Zeit, in der der Computer nicht aktiv ist. Im Terminal lassen sie sich jederzeit h&auml;ndisch ausf&uuml;hren.

Abbildung 5: Die Funktion Smart Updates verlegt Updates in eine Zeit, in der der Computer nicht aktiv ist. Im Terminal lassen sie sich jederzeit händisch ausführen.

Möchten Sie nicht auf die automatischen System-Updates warten, überreden Sie das System auf der Konsole mit abroot update -f zur Aktualisierung. Danach müssen Sie den Rechner neu starten, wobei Grub mit Partition B direkt die richtige Voreinstellung zeigt. Auf Partition A befindet sich das System vor der Aktualisierung, das Sie ebenfalls starten könnten.

Android-Apps lassen sich unter Zuhilfenahme von Waydroid aus den Open-Source-Repositories von F-Droid installieren und nativ ausführen (Abbildung 6). Dazu setzen Sie zunächst zwei Befehle zur Einrichtung ab: vso android init erstellt einen Waydroid-Container, vso android sync liest die F-Droid-Repositories ein. Das Kommando vso android install App installiert Apps (Abbildung 7), die Sie mit vso android launch App starten [5].

Abbildung 6: Android-APKs lassen sich unter Vanilla OS&nbsp;2 &uuml;ber Waydroid installieren und nutzen. Die dazu n&ouml;tigen Befehle zeigt <code>vso android</code>.

Abbildung 6: Android-APKs lassen sich unter Vanilla OS 2 über Waydroid installieren und nutzen. Die dazu nötigen Befehle zeigt vso android.


Abbildung 7: Waydroid macht das Integrieren von Android-Apps von F-Droid zum Kinderspiel. Das Prozedere unterscheidet sich nicht von dem bei anderen Paketsystemen.

Abbildung 7: Waydroid macht das Integrieren von Android-Apps von F-Droid zum Kinderspiel. Das Prozedere unterscheidet sich nicht von dem bei anderen Paketsystemen.

Eigene Images bauen

Die Struktur der Aktualisierungen haben die Entwickler von einem paketbasierten System auf OCI-Images umgestellt. Die Steuerung übernimmt Vib [6]. Dieser Ansatz ermöglicht neben atomaren Updates mit Rollback durch ABRoot v2 das Zusammenstellen von OCI-Images aus verschiedenen Modulen nach eigenen Wünschen. So lässt sich etwa ein Image mit Plasma-Desktop und ausgewählten Paketen selbst schnüren.

Dazu definieren Sie mit Vib eine Vorlage im textbasierten Dateiformat YAML, die aus einer Abfolge von Modulen besteht. Jedes davon gibt eine bestimmte, für das Erzeugen des Abbilds erforderliche Aktion an. Dazu gehören unter anderem das Installieren von Abhängigkeiten und das Kompilieren von Quellcode. Vib funktioniert derzeit auf jeder Linux-Distribution, die über eine GNU-C-Bibliothek (Glibc) verfügt, soll sich aber später ebenso auf MacOS und Windows einsetzen lassen. Als Container-Engine können Docker oder Podman dienen.

Das Einbinden von Treibern wickelt von ABRoot ebenfalls über OCI-Images ab. Um die Notwendigkeiten dafür zu minimieren, bringt “Orchid” für verschiedene Hardwareklassen bereits viele Treiber mit, die es bei der Installation je nach vorgefundener Hardware hinzufügt. Fehlt ein Treiber, müssen Sie ihn händisch in der ansonsten unveränderlichen Root-Umgebung installieren – nicht über die VSO-Shell, sondern mit der Host-Shell. Für Anwender von Nvidia-Grafikkarten führt Orchid das neue Tool Prime-switch ein, um einfach zwischen mehreren Grafikkarten zu wechseln, ohne auf die Kommandozeile angewiesen zu sein.

Fazit und Ausblick

Vanilla OS 2 “Orchid” besitzt das Potenzial, Linux auf dem Desktop zu revolutionieren. Die oft gehörte Kritik, unveränderliche Systeme ließen zu wenig Eingriffsmöglichkeiten offen, trifft auf Orchid definitiv nicht zu. Es bietet Desktop-Nutzern, die nicht herumbasteln möchten, eine solide Basis, die das System völlig vergessen lässt und die alleinige Konzentration auf die zu erledigende Arbeit zulässt. Entwickler und Enthusiasten dagegen finden ein System vor, das ihnen alle benötigten Eingriffsmöglichkeiten einräumt.

Die vorliegende Beta funktioniert wie erwartet. Einzig eine aktualisierte Dokumentation, die den Anwender bei der Erforschung der Tiefen des Systems unterstützt, steht noch aus. Die vorliegende Dokumentation fällt zwar erfreulich umfangreich aus, stammt aber größtenteils aus der Zeit der ersten Vanilla-OS-Ausgabe. Der grundlegende Umbau macht sie dementsprechend an vielen Stellen unbrauchbar. Die meisten dort erläuterten Befehle funktionieren nicht mehr. Der beste Anlaufpunkt, um momentan Unterstützung zu erhalten, ist der stets gut besetzte Discord-Kanal [7]. Das stabile Release von “Orchid” wollen die Entwickler noch 2024 freigeben, vor dem Sommer sollten Sie allerdings nicht damit rechnen. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 05/2024 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben