Monolithische Linux-Desktops: Fedora Silverblue und Kinoite
Weil doch einige Leute nach einfachen Linux-Systemen fragten.
Ich bin zwar seit rund 20 Jahren, seit deren Anfängen Debian- und Ubuntu-Benutzer, aber meine Zufriedenheit mit Ubuntu ist auch nicht mehr so doll, wie sie mal war.
Vor allem aber habe ich einen anderen Punkt: Ich installiere meine Systeme per Puppet, weil ich unheimlich viel Software auf dem Rechner und sehr komplexe Konfigurationen habe, die ich mir gar nicht alle merken und aus dem Gedächtnis reproduzieren könnte. Ich bekäme das aus dem Gedächtnis in überschaubarer Zeit gar nicht mehr alles hin, einen kompletten Rechner in meiner typischen Arbeitsumgebung von Hand neu zu installieren, weil mir die vielen Programme gar nicht mehr alle einfielen (merkt man dann, wenn irgendwas nicht läuft, weil irgendwas fehlt) oder wie man die ganzen Konfigurationstricks und -schlichen wieder hinbekommt. Deshalb mache ich das automatisiert, und kann einen neuen Rechner mit leerer Platte in (wenn die Pakete im Proxy-Cache sind) knapp über zwei Stunden (davon ca. 15 Minuten Handarbeit, der Rest geht automatisch) komplett mit allen Anwendungsprogrammen und Konfigurationen durchinstallieren. Anderes könnte ich es gar nicht schaffen, mehrere Rechner auf einem gleichen Stand zu halten und dafür zu sorgen, dass das, was auf einem Rechner geht, auf allen Rechnern geht. Deshalb halte ich das auch für so kritisch, wenn die da in irgendeiner Behörde oder Uni erzählen, dass es nach einem Malware-Angriff Monate dauern soll, die Rechner alle wieder neu aufzusetzen. Das darf eigentlich nicht sein, das muss eigentlich automatisch jederzeit frisch aufsetzbar sein. Es muss nicht gleich komplex wie Puppet sein, inzwischen ist auch Ansible recht gut, womit man auch einzelne Funktionen und Konfigurationen gut hinbekommen kann.
Aber: Das macht die Installationen halt immer auch sehr groß, und je mehr Pakete man drauf hat, desto schwergängiger wird die Kiste und desto mehr muss man aktualisieren, auch wenn das alles ebenfalls automatisch geht und nicht gemausklickt werden muss. Informatiker hassen es, manuelle Schritte, gar mit der Maus, wiederholen, repetieren zu müssen.
Nun ist es aber so, dass ich durchaus nicht immer alles brauche.
Manchmal braucht man nur einen kleinen Rechner mit Browser und Videokonferenz-Tools am Fernseher oder das Billignotebook für in die Bibliothek, auf dem auch nicht mehr drauf sein muss als ein Browser, ein Texteditor und die Notizen, Mailreader, VPN.
Also habe ich seit ungefähr einem Jahr Kinoite auf einigen Rechnern im Test. Für manche Anwender kann das durchaus interessant sein.
Warnhinweis
Für die nachfolgenden Informationen möchte ich zwei oder drei Warnhinweise vorausschicken:
- Silverblue und Kinoite sind noch immer als „experimental“ gekennzeichnet, da können Dinge auch mal nicht funktionieren oder kontinuitätsbrechend geändert werden.
- Sie verwenden das Dateisystem BTRFS, von dem ich wenig halte und das ich vor einigen Jahren (seither habe ich es nicht mehr benutzt) als buggy, instabil, problematisch erlebt habe. Inzwischen habe ich keine Probleme mehr bemerkt, aber der Ruf ist nicht der beste.
- Ich habe zwar weniger oder gar keine Probleme mit Silverblue und Kinoite selbst erlebt, aber wiederholt Probleme mit deren Server für Aktualisierungen, weil die über ein Content Delivery Network laufen, und d hakt es ab und zu mal.
Ich rate daher davon ab, das produktiv oder als Hauptrechner einzusetzen.
Wenn man aber, wie man das ja oft hat, irgendeinen noch verwendungsfähigen (aber zum Beispiel nicht mehr Windows-11-tauglichen) älteren Rechner übrig hat, der auch nicht mehr so stark ist, oder vielleicht was für die Kinder oder zum Linux-Ausprobieren sucht, sind die ganz wunderbar.
Was sind monolithische Betriebssysteme, was sind Silverblue und Kinoite?
Normalerweise beruhen Linux-Systeme auf einem Paketmanager und Paketformat, und werden aus hunderten oder tausenden kleiner „Pakete“, also Installationseinheiten oder -module zusammengebaut, die Programme und andere Dateien enthalten, und auch Abhängigkeiten von anderen Paketen enthalten. Das unterscheidet Linux von Windows und MacOS, wo die Applikationen sich selbst irgendwie installieren und (mal mehr, mal weniger) desinstallieren, wenn man sie wieder loswerden will. Deshalb funktioniert die Aktualisierung unter Linux ganz anders als unter Windows und MacOS.
Das hat große Vor-, aber auch _Nachteile. In der Regel läuft das alles sehr gut und stabil, aber manchmal hakt es mit den Abhängigkeiten der Pakete untereinander, oder es kann selten auch mal passieren, dass sich Pakete nicht zusammen installieren lassen, weil beide Dateien unter demselben Pfad enthaltne, was der Paketmanager dann abfangen sollte.
Nun gibt es für kleine Server sogenannte „monolithische“ (aus einem Stück) oder auch „immutable“ (unveränderbare) oder „atomic“ Installationen, bei denen man das Betriebssystem nicht mehr aus kleinen Puzzlestücken zusammensetzt, sondern eher wie ein Fertighaus in der Fabrik komplett installiert und in einem großen Stück – und damit ohne Paketmanager und Paketverwaltung – auf den Rechner kopiert. Es gibt zwar noch ein paar veränderbare Konfigurationsverzeichnisse, weil man manche Dinge wie den Rechnernamen und die Benutzer ja noch eintragen muss, und natürlich Benutzerverzeichnisse, weil man ja arbeiten will, aber das Betriebssystem selbst ist dann „read only“, kann nicht überschrieben werden, und deshalb auch (eigentlich) nicht verhunzt.
Wie aktualisiert man das dann, wenn es Software-Updates gibt?
Im Prinzip gar nicht. Man ersetzt es komplett, man muss (passiert automatisch) also alle paar Tage ein neues Image, also das komplette Betriebssystem neu herunterladen und das aktuelle ersetzen. Hört sich nach Bandbreitensauerei an. Ist es auch. Macht aber bei heutigen Internetanschlüssen und -auslastungen nichts, ein paar Minuten Videostreaming braucht schon mehr.
Angefangen hat das mit CoreOS und Ubuntu Core, die aber beide sehr rudimentäre, einfache Server-Systeme sind, die aber wartungsarm sind, weil sie sich selbst aktualisieren und aufgrund des Read-Only-Systems und der Selbstersetzung beim Update deutliche Sicherheitsvorteile haben.
Fedora (bzw. RedHat) hat vor einiger Zeit CoreOS aufgekauft, und bietet nun auf der Grundlage dieser Technik auch zwei Desktop-Systeme an, die im Prinzip genauso funktionieren, aber eben die graphische Benutzeroberfläche drauf haben. Silverblue mit der Benutzeroberfläche Gnome und Kinoite mit KDE, inzwischen gibt es sogar weitere mit anderen Desktops wie Sway, Budgie und Cosmic (kenne ich alle nicht). Abgesehen vom Desktop sind sie (nahezu) gleich.
Ubuntu arbeitet auch an so etwas auf Basis von Core/Snaps, das ist aber noch nicht fertig und noch nicht verfügbar und kann noch lange dauern.
Und diese Systeme haben dann auch den Vorteile, dass sie immer auch die letzte Version speichern. Geht also bei einem Upgrade etwas schief, kann man dann immer zurück auf den letzten Stand.
Was bekommt man?
Man zieht sich die Installationsmedien auf einen USB-Stick, rein in den Rechner, installieren, fertig ist das Linux.
Naja, nicht ganz so einfach, denn die Installationssoftware ist zwar gut, aber ich halte sie nicht für anfänger- und laientauglich. Man wundert sich, warum es nicht losgeht und man nicht auf den Install-Button drücken kann, weil man, was nicht so ganz offensichtlich ist, erst in die Menüs muss und mindestens zwei Sachen angeben muss: Auf welche Platte will man das installiert haben (und mit oder ohne Verschlüsselung), und wie soll der Benutzer heißen und welches Passwort. Hat man da dann gesetzt, geht es flott los. Wenn ich das richtig in Erinnerung habe, muss man das bei Kinoite vor der Installation angeben, während es bei Silverblue so war (oder noch ist), dass man nur die Platte angibt und der Benutzer beim ersten Booten abgefragt wird. Das hat den Vorteil, dass man das für Dritte vorinstallieren kann und die dann ihren Namen und das Passwort selbst eingeben.
Vorinstalliert sind ein paar Kernapplikationen wie eben ein Webbrowser, ein Mailprogramm, ein paar kleinere Anwendungen.
Dabei muss es aber nicht bleiben, weil man graphische Anwendungen, eben so die typischen Desktop-Programme, als „Flatpak“-Pakete nachinstallieren kann. Das geht alles über die graphische Verwaltungssoftware, sehr bequem, die auch die Aktualisierung übernimmt.
Wenn man also einen anderen Browser, ein Textprogramm, Graphikprogramm oder sonstwas haben will, schaut man da in den Katalog und klickt – per Maus – an, was man haben will, *zack* wird das installiert und läuft.
Aber: Das Standard-Flatpak-Repository von Fedora hat nur die wichtigsten Anwendungen. Will man Zugriff auf so ziemlich alles, was es da draußen gibt, muss man in den Einstellungen anklicken, dass man auch „Flathub“ als Quelle verwenden will, und dann bekommt man so ziemlich alles, was es für Linux gibt.
Problem daran ist, dass Flathub in meinen Augen nur wenig vertrauenswürdig ist, weil da Hinz und Kunz Sofware anbieten und man das oft gar nicht sieht, von wem das kommt.
Was, wenn man andere Dinge braucht?
Was aber, wenn man andere Dinge installieren will, die keine graphischen Anwendungsprogramme sind und deshalb nicht als Flatpak zu haben sind?
Dann gibt es zwei Wege.
rpm-ostree
Der eine, aber nicht empfohlene Weg führt über rpm-ostree. Ich habe zwar oben geschrieben, dass das System keine Paketverwaltung mehr hat und die Systeme „immutable“, also unveränderlich sind, beides stimmt aber unter der Haub nicht ganz. Die Verwaltung der Images funktioniert über das Prinzip „ostree“ und das Kommandozeilenprogramm rpm-ostree, mit dem man normalerweise gar nicht in Kontakt kommt, weil man über die graphische Benutzeroberfläche arbeitet.
Mit rpm-ostree kann man aber dem Image – was das ganze Konzept dann eigentlich wieder über den Haufen wirft – RPM-Pakete als „overlay“ nachinstallieren, die dann in das Image eingebaut werden (und deshalb nicht sofort, sondern erst nach dem nächsten Boot verfügbar sind).
Aber Achtung: Weil das System dadurch die Images immer komplett neu erzeugen muss, wird das immer langsamer. Man sollte das ganz, ganz, ganz sparsam einsetzen. Will man also etwas eine zsh statt einer bash, oder statt nur Python auch gerne Ruby, dann kann man das damit machen, aber sollte das wirklich nur auf ganz, ganz wenige, wirklich notwendige Pakete beschränken.
toolbox
Will man mehr machen, gibt es noch das Programm toolbox, was im Prinzip ein Frontend für den Container-Manager podman ist. Man kann sich damit auf recht einfache Weise Fedora- oder sogar Ubuntu-Umgebungen innerhalb des Benutzerverzeichnisses starten und dort ganz normal Software installieren, sogar graphische Anwendungen.
Beispiel: Unison gibt es nicht als Flatpak und rpm, und muss auch mit der Version des angesprochenen Servers übereinstimmen. Lösung: Man macht sich mit der toolbox ein Ubuntu, installiert sich Unison und hat es als graphische Anwendung zur Verfügung.
Kritik
Man muss eigentlich und leider sagen, dass das Konzept beweist, dass es im Allgemeinen so nicht funktioniert, denn je mehr man von dem abweicht, was man im Standard-Image an Anwendungen vorfindet, desto Aufwendiger wird das alles, zwar nicht für den Benutzer, aber für den Rechner:
- Das Ding muss regelmäßig nicht nur sein Betriebssystem-Image, sondern einige zusätzliche Flatpak-Pakete aktualisieren.
- Alles, was man zusätlich als Flatpak installiert hat, muss auch aktualisiert werden, auch wenn das automatisch über dieselbe Oberfläche geht. Es sind dann halt doch wieder ständig neue Versionen verfügbar.
- Hat man etwas per rpm-ostree installiert, muss das bei jedem Systemupdate reingewurschtelt werden. Das passiert zwar vollautomatisch, aber es dauert halt wieder ein paar Sekunden extra.
- Hat man sich per Toolbox noch ein normales Fedora oder Ubuntu installiert, will das natürlich auch aktualisiert werden, und das dann auf herkömmliche Weise (apt update, apt upgrade…)
Man ist dann leider ruckzuck bei drei bis vier verschiedenen Aktualisierungswegen, die man zu aktualisieren hat.
Im Prinzip zeigt das, dass das mit dem monolithischen Ansatz nicht funktioniert, weil man dann nämlich mit einer normalen Ubuntu- oder Fedora-Installation einfach besser dran ist. Aber nicht viel besser, weil die inzwischen auch mit mehreren Paketenquellen arbeiten (Ubuntu: deb und snap, Fedora: rpm und flatpak).
Es ist nicht sinnvoll, da viel draufzuinstallieren. Dann nimmt man besser einen normale Linux-Desktop.
Wenn man es aber sehr einfach haben will, und im Wesentlichen mit den paar Applikationen auskommt, die dabei sind, und dazu noch nur eine Handvoll graphischer Programme über die normale Installationsgui per Mausklick nachinstallieren oder einfach ausprobieren will, man also eigentlich nur den Browser, ein Mailprogramm und ein paar graphische Anwendungsprogramme benutzen will – und das tun die meisten Windows-Linux-Umsteiger, dann bekommt man damit ein durchaus famoses und leicht – und graphisch – zu bedienendes, und damit auch für Laien und Windows-Umsteiger, auch für Kinder oder mal zum Reinschnuppern, oder vielleicht als Rechner am Fernsehr für Streaming und Videokonferenzen geeignetes System.
Das Ding hat seine Stärken dann – und nur dann – wenn man weitgehend mit einem Standard-Gnome- oder -KDE-Desktop auskommt und nur ein paar graphische Zusatzapplikationen haben will.
Genau das ist aber in vielen Fällen der Fall. Etwa wenn Oma mit den Enkeln mailen und videokonferieren will. Oder wenn ich mich in die Bibliothek setze. Oder am Flughafen sitze und blogge. Dann reichen im Prinzip Browser und VPN, und das ist alles dabei.
Videos und Bilder bearbeiten geht damit auch noch, weil man die Programme als graphische Anwendungen schnell als Flatpak installieren kann.
Entwickeln macht auf dem Ding aber schon nur noch bedingt Spaß, obwohl die „toolbox“ gerade dann ihre Stärken auch ausspielen kann, weil man gleich verschiedene Versionen von Fedora und Ubuntu parallel drauf laufen lassen kann. Da kommt man dann an die Grenzen des Systems.
Wenn man aber noch einen alten, abgelegten, unbenutzten (oder von Windows verschmähten) Rechner irgendwo herumliegen hat, einen Ersatzrechner griffbereit haben will, den Kindern was hinstellen will, dann ist das eine feine Sache. Kostet nichts, braucht keinen Cloud-Account, keine Lizenz. Kann man einfach so mal ausprobieren. Und es setzt wirklich wenige Linux-Kenntnisse voraus, gerade auch weil Gnome und KDE stark maus- und graphikorientiert daherkommen.
Und wenn es einem nicht gefällt, lässt man es bleiben oder ersetzt es dann, wenn man mehr davon will, durch ein normales Ubuntu oder Fedora.
Und zum Surfen, Mailen und Bloggen reicht es allemal. Viele wollen ja gar nicht so viel, weil sie sich von der schieren Masse von Linux-Programm erschlagen fühlen.
Der Firmen- und Behördenbonus
Die Sache hat aber eine Besonderheit.
Irgendwo, ich habe es jetzt nicht parat, gibt es eine ausführliche Anleitung, wie man diese Systeme „customizen“ kann.
Man kann also, aber das lohnt sich erst bei vielen Rechnern, dann, wenn man eine Firma hat, eine Behörde oder eine Schule leiten muss und ähnliche Fälle, ein System aufsetzen, was automatisiert diese Images lokal erzeugt und anpasst – beispielsweise einen Bildschirmhintergrund mit Firmenlogo, eigene Voreinstellungen wie VPN-Tunnel, eigene Applikationen und so weiter, wovon sich die Rechner dann aktualisieren.
Irgendwer hatte das neulich irgendwo als „EU-Rechner“ vorgeschlagen.
So etwas wäre eine durchaus interessante und betrachtenswerte Anwendung. Wenn denen wieder mal ein ganzes Oberlandesgericht zusammenklappt, weil sie sich Malware eingefangen haben, kann man so ruckzuck irgendwelche Rechnerrestposten billig aufkaufen und zu Arbeitsrechnern machen, oder Schülern ein auf die Schule abgestimmtes Betriebssystem mitgeben und so weiter und so fort. Hätte ich jetzt die Aufgabe, einen größeren Haufen von Mitarbeitern mit gleichartigen Rechnern zu versorgen, etwa für den Außendienst, würde ich mir genau das näher anschauen: Alles, was auf alle Rechner muss, in das Image reinpacken.
Wenn man es darauf anlegt, kann man mit solchen Systemen richtig gute Sachen machen – als Nischenanwendungen.
Es ist kein Ersatz für normale Desktops. Es ist eben etwas anderes.