Ich liebe LTS-Distributionen, aber diese bewahren einen leider nicht vor defekten SSDs im Notebook. Da ich keine Vollsicherung der Systeme mache, sondern nur Datenbackups mit Borg, musste ich mein System nach dem Austauschen der SSD komplett neu einrichten. Zeit also für ein Experiment mit Fedora Silverblue.
Eigentlich ist Fedora nichts für mich. Zu schnell entwickelt, zu viele Updates. Ich bin aber bekanntermaßen ein großer Freund der aktuellen Entwicklung rund um systemd und halte den Schritt zu unveränderbaren Distributionen mit Flatpaks als Installationsmethode für Anwendungen für einen wichtigen Meilenstein, um Linux weiterhin attraktiv zu halten. Mit diesem Interesse bin ich nicht alleine, sondern es nutzen sukzessive mehr Leute Distributionen wie Silverblue. Durch die Architektur des Systems sollten halbjährliche Upgrades zudem kein Problem mehr darstellen, weil einfach per Rebase eine neue Basis unter die eigenen Apps und Konfigurationen gelegt wird. Keine aufwendigen Upgradeprozeduren mit Pakettransitionen und Nacharbeiten. Zeit also das nicht mehr nur in der virtuellen Maschine, sondern auch auf dem produktiven System zu testen.
Warum Fedora Silverblue?
Fedora Silverblue bietet hier die am weitesten ausgereifte Variante eines unveränderbaren Linux-Systems. Daneben gibt es noch die Variante mit KDE Plasma, genannte Fedora Kinoite sowie Endless OS als debian-basierten Ansatz. Alle anderen Distributionen, die stärker auf Flatpak setzen, wie z.B. elementary OS, tun dies noch nicht konsequent, sondern kombinieren eine klassische Paketverwaltung mit dem Flatpak-Ansatz. SUSE entwickelt mit ALP eine vergleichbare Lösung, aber diese steckt momentan noch in den Kinderschuhen und wird voraussichtlich erst 2024 für Endanwender zur Verfügung stehen.
Nach reiflicher Überlegung habe ich mich zudem entschieden, direkt Fedora Silverblue, also die GNOME-Variante, zu testen und nicht Kinoite. Dahinter stecken verschiedene Überlegungen. KDE hat in den letzten 10 Jahren einen Weg der immer stärkeren Aufsplitterung der Bibliotheken und Umsetzung von zig Frameworks gewählt. KDE Frameworks, Akonadi, Nepomuk/Baloo, Phonon etc. pp. Meiner Ansicht nach ist das im Angesicht der aktuellen Entwicklung eine Sackgasse, weil beispielsweise das Flatpak Kontact alle KDEPIM-Anwendungen und Akonadi bündeln muss. GNOME ist einen anderen Weg gegangen – wohl auch, weil die GNOME-Entwickler besser mit den Treibern der Entwicklung im Red Hat-Umfeld vernetzt sind – und ermöglicht einen stimmigeren Einsatz von Basis-System und Flatpak-Ökosystem. Abgesehen davon hadere ich schon länger mit der KDE-Entwicklung und wollte GNOME mal wieder eine Chance geben.
Eine solche Umstellung ist für mich nicht schwer. Schon seit vielen Jahren mache ich mich nicht von einzelnen Anwendungen abhängig, sondern von Standards und Protokollen. IMAP, CalDAV, CardDAV für PIM, WebDAV für Dateien, KBX-Datei für Passwörter, die Google API für mein FreshRSS, einen Borg-Client für Backups etc. pp. Welche Client-Anwendungen diese Protokolle implementieren, ist mir da eher egal. Dazu kommen noch einige proprietäre Programme wie SoftMaker Office oder moneyplex und Open Source-Standards wie Firefox oder Zotero. Diese nutze ich unter jedem System und jener Desktopumgebung.
Funktionsweise von Fedora Silverblue
Fedora Silverblue bricht mit dem hergebrachten Ansatz, wie Linux-Distributionen funktionieren. Die Basis bilden zwar immer noch die Pakete im Fedora Repositorium, aber diese kommen auf unterschiedlichen Wegen in das System.
Anstelle DNF kommt rpm-ostree zum Einsatz. Das Basissystem besteht nicht mehr aus einer Vielzahl einzelner Pakete, die nacheinander installiert werden, sondern aus einem Image (das natürlich weiter aus Paketen besteht und sich unterscheidet, je nachdem, ob man die Variante Silverblue, Kinoite oder Vauxite nutzt). Dieses kann zur Laufzeit nicht verändert werden und wird lediglich eingehängt. Aktualisierungen des Basissystems erfordern einen Neustart, wodurch man faktisch in ein neues Image bootet. Dadurch kann bei Fehlern jederzeit der vorherige Zustand wiederhergestellt werden. Dieses Basisimage ist sehr reduziert und beinhaltet nur das Linux-Basissystem und einen schlanken GNOME-Desktop.
Anwendungen sollen als Flatpaks installiert werden. Einige sind schon vorinstalliert und Fedora bietet eine eigene Flatpak-Quelle an. Das hat viel Kritik hervorgerufen, weil eine Idee von Flatpaks eigentlich der zentrale Bezug über Flathub ist und es eben keine distributionsspezifischen Angebote geben sollte. Fedora glaubt dies aus patentrechtlichen Gründen, Open Source-Prinzipien und Gründen der Qualitätssicherung trotzdem tun zu müssen. Der Ausgang dieser Diskussion ist aber meines Erachtens noch offen. Flathub lässt sich natürlich sehr einfach einbinden und bietet Zugang zu einem riesigen Pool an Software. Das Projekt wird von seinen Machern zurecht als gewaltiger Erfolg betrachtet.
Nicht jede Anwendung kann als Flatpak installiert werden. Manche Anbieter wie z. B. Matrica oder SoftMaker bieten ihre Software leider noch nicht als Flatpak, andere Sachen wie z.B. Bibliotheken werden sich so nie installieren lassen. Dafür gibt es zwei Möglichkeiten. Die erste Möglichkeit ist eine Installation via rpm-ostree in einen eigenen Layer außerhalb des System-Images. Das nutze ich beispielsweise für GTK2, das ich für moneyplex benötige oder für SoftMaker Office. Für Kommandozeilenwerkzeuge bietet Fedora das Werkzeug Toolbox an, das containerbasierte eine Umgebung für DNF bereitstellt.
Wie sieht das System nun aus?
Das Basissystem ist sehr schlank geraten. Es umfasst circa 1200 Pakete. Puristen stören sich sicherlich daran, dass nicht benötige Firmware oder Sprachpakete nicht deinstalliert werden können. Ich halte das für eine Spielerei, die letztlich nur wenige MB spart und vor allem einen gefühlten Mehrwert bringt, weil man sich dann einreden kann, dass man sein System individuell angepasst hat. Letztlich hat sich Linux in den vergangenen Jahren stark homogenisiert und ob man nun so ein Image installiert oder sein System mit Arch oder Debian individuell aufbaut: 80% der Pakete werden identisch sein.
Ergänzend zu diesem Basissystem habe ich folgende Pakete via rpm-ostree installiert:
firewall-config
gnome-tweaks
softmaker-office-2021
gtk2
gnome-shell-extension-dash-to-dock
gnome-shell-extension-just-perfection
gnome-shell-extension-user-theme
gnome-shell-theme-flat-remix
Die GNOME-Shell Extensions hätte ich auch im Userspace via GNOME Erweiterungen installieren können, aber bevorzuge hier die auf die jeweilige GNOME-Version in Fedora abgestimmt Variante.
Zusätzlich kommen folgende Flatpaks hinzu:
Name Anwendungskennung Version Zweig Ursprung Installation
PDF Arranger com.github.jeromerobert.pdfarranger 1.9.2 stable flathub system
Flatseal com.github.tchx84.Flatseal 1.8.1 stable fedora system
NewsFlash com.gitlab.newsflash 2.2.4 stable flathub system
Erweiterungs-Manager com.mattjakeman.ExtensionManager 0.4.0 stable flathub system
Metadaten-Reiniger fr.romainvigier.MetadataCleaner 2.5.0 stable flathub system
Fedora Platform org.fedoraproject.Platform 37 f37 fedora system
FileZilla org.filezillaproject.Filezilla 3.63.2 stable flathub system
YOGA Image Optimizer org.flozz.yoga-image-optimizer 1.2.2 stable flathub system
Freedesktop Platform org.freedesktop.Platform 22.08.9 22.08 flathub system
Mesa org.freedesktop.Platform.GL.default 22.3.5 22.08 flathub system
Mesa (Extra) org.freedesktop.Platform.GL.default 22.3.5 22.08-extra flathub system
Intel org.freedesktop.Platform.VAAPI.Intel 22.08 flathub system
ffmpeg-full org.freedesktop.Platform.ffmpeg-full 22.08 flathub system
openh264 org.freedesktop.Platform.openh264 2.1.0 2.2.0 flathub system
GNU Image Manipulation Program org.gimp.GIMP 2.10.32 stable fedora system
Boxen org.gnome.Boxes 43.1 stable flathub system
GNOME Boxes Osinfo DB org.gnome.Boxes.Extension.OsinfoDb 20230308 stable flathub system
Taschenrechner org.gnome.Calculator 43.0.1 stable fedora system
Zeichen org.gnome.Characters 43.1 stable fedora system
Dokumentenbetrachter org.gnome.Evince 43.1 stable fedora system
Erweiterungen org.gnome.Extensions 43.beta stable fedora system
Archivverwaltung org.gnome.FileRoller 43.0 stable fedora system
Protokolle org.gnome.Logs 43.0 stable fedora system
Lollypop org.gnome.Lollypop 1.4.37 stable fedora system
Karten org.gnome.Maps 43.2 stable fedora system
Meld org.gnome.Meld 3.22.0 stable fedora system
Sushi org.gnome.NautilusPreviewer 43.0 stable fedora system
GNOME Application Platform version 43 org.gnome.Platform 43 flathub system
GNOME Energiestatistiken org.gnome.PowerStats 43.0 stable flathub system
Texteditor org.gnome.TextEditor 43.1 stable fedora system
Videos org.gnome.Totem 43.0 stable flathub system
Codecs org.gnome.Totem.Codecs stable flathub system
yt-dl totem-pl-parser plugin org.gnome.Totem.Videosite.YouTubeDl stable flathub system
Wetter org.gnome.Weather 43.0 stable fedora system
Pika Datensicherung org.gnome.World.PikaBackup 0.5.2 stable flathub system
Secrets org.gnome.World.Secrets 7.2 stable fedora system
Festplattenbelegungsanalyse org.gnome.baobab 43.0 stable fedora system
Uhren org.gnome.clocks 43.0 stable fedora system
Bildbetrachter org.gnome.eog 43.1 stable fedora system
Schriften org.gnome.font-viewer 43.0 stable fedora system
Passwörter und Verschlüsselung org.gnome.seahorse.Application 43.0 stable fedora system
LocalSend org.localsend.localsend_app 1.8.0 stable flathub system
Thunderbird org.mozilla.Thunderbird stable fedora system
Firefox org.mozilla.firefox 110.0.1 stable flathub system
Zotero org.zotero.Zotero 6.0.20 stable flathub system
Code-Sprache: CSS (css)
Wie man sieht, bin ich meinem Prinzip treu geblieben und nutze überwiegend die passenden Programme zur Desktopoberfläche – egal welche das nun im Einzelfall ist.
Die Pakete stammen gemäß Fedora-Prinzip bevorzugt aus der Fedora-Quelle und sekundär aus Flathub. Dazu kommt dann die jeweilige Basispakete von Freedesktop oder Fedora.
Verhalten im Alltag
Das System läuft sehr stabil und die unabhängige Aktualisierung von Anwendungen und Basissystem ist beispielsweise vom Android Smartphone vertraut. Wirkliche Mehrwerte sehe ich hier eigentlich wirklich für LTS-Distributionen, aber natürlich ist es auch bei Fedora schön, einfach schnell ein FileZilla-Update einzuspielen, ohne im schlimmsten Fall das Basissystem und die dortigen Bibliotheken anpassen zu müssen.
Viele der Startschwierigkeiten bezogen sich auch auf die ungewohnte GNOME-Umgebung und wären ebenso bei einem normalen Fedora aufgetreten. In der Summe merkt man aber bei GNOME, dass dort mehr Entwicklerkapazitäten hinter stecken. Der Desktop und die Programme sind ausgereifter und stabiler. Die Bedienkonzepte gewöhnungsbedürftig, aber konsequent durchgezogen. Hat man sie verinnerlicht, kommt man damit sehr gut klar und muss nicht bei jedem Programm auf Entwicklersonderwege und eigenwillige Ideen von Designamateuren Rücksicht nehmen. Lustigerweise hat mir bisher noch keine einzige Option im Einstellungsdschungel von KDE gefehlt. Manche Extensions für GNOME wie z. B. Pano möchte ich schon nach wenigen Tagen nicht mehr missen.
Die Möglichkeit, alte Systemstände zurückzuholen, habe ich bisher nicht wirklich gebraucht, aber natürlich getestet und bin begeistert, wie gut das funktioniert. Dies schafft gegen die Unwägbarkeiten des Alltags eine wirksame Absicherung.
Einen Mehrwert bietet für mich Toolbox und GNOME Boxes. Mit Toolbox kann man sein System wunderbar sauber halten, während man Entwicklertools nutzt und GNOME Boxes integriert sich so hervorragend in GNOME, das virtuelle Maschinen ganz neue Mehrwerte generieren. Beides könnte man natürlich auch mit einem normalen Linux-System nutzen.
Etwas problematisch ist die Notwendigkeit, bei jedem Update des Basissystems einen Neustart durchzuführen. Fedora ist bekanntermaßen sehr Update-freudig und wer da nicht nachlässig sein möchte, muss alle paar Tage neustarten. Das ist aber ein Problem aus der Kombination rpm-ostree und Fedora. Bei Red Hat Enterprise Linux dürfte das zukünftig nicht im gleichen Maße auftreten und letztlich zielt die Entwicklung bei Fedora ja meist auf das Enterprise-Produkt.
Probleme durch die Zugriffsbeschränkungen von Flatpaks sind überhaupt keine aufgetreten, längeres Startverhalten oder ähnliches kann ich auch nicht beobachten. Der Speicherplatzverbrauch aus System, Programmen und Daten in der Summe nicht groß anders als bei meinem bisherigen System.
Das System hat zudem noch einige Kinderkrankheiten, die sich aus Abweichungen zum „Standard-Linux“ ergeben. So ist bei einem LUKS-verschlüsselten System beim Start immer das englischsprachige Tastaturlayout eingestellt. Diese Fehler sind bekannt, harren aber einer wirklichen Lösung jenseits von Workarounds.
Sehr gespannt bin ich auf das erste Rebase der Basis von Fedora 37 auf Fedora 38 in diesem Frühjahr.
Zusammengefasst
Die Erfahrung mit einer unveränderbaren Distribution und einem Flatpak-Anwendungsökosystem ist anfänglich gewöhnungsbedürftig im produktiven Betrieb, aber man erfreut sich schnell an den Vorzügen. Ich halte es immer noch für den richtigen Weg und denke, dass die meisten Linux-Distributionen mit einem Endanwender-Fokus diesen über kurz oder lang beschreiten werden. Mal sehen wie meine weiteren Erfahrungen mit Silverblue (und GNOME) sein werden.
Der Vollständigkeit halber könnte man vielleicht noch erwähnen, dass openSUSE mit MicroOS auch jetzt schon ein Silverblue-Äquivalent hat, wenn auch auf rollender Basis. Und Vanilla OS gibt es auch noch, derzeit noch auf Ubuntu-Basis, aber der nächsten Version aber mit einem semi-rollenden Debian.
Macht für mich als Ansatz auch irgendwie Sinn, da die Flatpaks ja letzten Endes auch quasi-rollend sind und die neben der Desktoo-Umgebung für die User-Erfahrung ja eh am prägensten sind.
Stimmt, MicroOS habe ich unterschlagen. Für mich ist das immer irgendwie eine Preview auf SUSE ALP.
Ich finde aber gar nicht, dass Flatpaks rollende Systeme implizieren. Flatpaks bieten ja einen doppelten Gewinn. Ich kann sehr alte Anwendungen auf neuen Betriebssystemversionen betreiben (ob man das will sei mal dahin gestellt) und ich kann neue Anwendungen auf einer alten Basis betreiben.
Sorry, hatte die Seite zu lange nicht neu geladen, könnt meinen anderen Kommentar ignorieren. Und bzgl. MicroOS als Preview: Wenn ich Richard Brown richtig verstanden habe, wird ALP voraussichtlich eine etwas größere Basis haben als MicroOS und auch sonst etwas anders sein.
Noch ein paar Ergänzungen:
– meine eigentlich, dass der Umzug zu/das Hinzufügen von flathub für die nächste Version schon beschlossen ist. Habe da jetzt aber kein Link zur Hand
– Installieren/Nutzen von grafischen Anwendungen über Toolbox sollte eigentlich möglich sein. Zumindest war das bei der openSUSE toolbox so, wobei die auch nicht ganz identisch sind. MicroOS ist dafür standardmäßig inzwischen eh zu distrobox umgestiegen, was die Desktopintegration noch einmal leichter macht und einen noch breiteren Paketschatz ermöglicht. Lässt sich natürlich auch für Silverblue installieren.
– Reboot ist nicht zwingend nötig. Gibt auch eine Updateoption, die „apply live“ o.ä. heißt. Wobei reboots natürlich immer etwas stabiler sin€
Wieso nicht openSUSE MicroOS? Das ist zwar offiziell noch RC, aber außer dass man die unangekündigten Neustarts mit einem Befehl am Anfang ausschalten muss, ist es absolut nutzbar. (Und ja, die (kleine) Basis ist theoretisch RR, aber de facto bewahrt einen der automatische Check von Snapshots lokal auf dem Rechner vor nicht bootenden oder fehlerhaften Systemen.) Und im Konzept sind einige Dinge meiner Meinung nach besser gelöst, wie z.B. die direkte Integration von Flathub oder die automatische Installation von Firefox und anderen Grundanwendungen als Flatpak anstelle als RPM-Paket.
Unangekündigte Neustarts gibt es schon ne Weile nicht mehr. Stattdesen nur eine Benachrichtigung, dass das Update durchgelaufen ist.
Hallo Gerrit,
schön das du mal Silverblue ausprobiert hast. Ich hab mich schon lange gefragt, wann der Schritt kommt. Was mich an deiner installation wundert ist das Fehlen der h.264 codecs für die hardware bescheleunigte Videowidergabe. Eine Anleitung findest du hier:
https://gnulinux.ch/multimedia-codecs-unter-fedora-silverblue-und-kinoite-installieren
Ich habe die bisher nicht vermisst. Vermutlich weil ich Firefox direkt aus Flathub nutze und außerhalb des Browsers eigentlich keine Videos abspiele. Aber ich schaue es mir mal an.
Man sollte lieber ffmpeg-full von Flathub ziehen, genauso wie Cisco-Codec (ffmpeg-full: org.freedesktop.Platform.ffmpeg-full, org.freedesktop.Platform.ffmpeg_full.i386, org.freedesktop.Platform.openh264). Ich nutze Google Chrome von Flathub, aber ich glaube Firefox bringt die benötigten Codecs mit oder stößt die oben genannten an. Silverblue ist echt klasse.
Kann man so machen, dann hat man aber den Sinn von „unveränderlichen“ Distributionen nicht verstanden. Der Kern des OS soll unverändert bleiben, unkaputtbar. Man erstellt sich statt dessen eine (oder mehrere) Toolbox(en), in denen man rumspielen und die benötigten Programme installieren kann (ganz normal mit „dnf“). Ich würde empfehlen, mal die Artikel von Fedora zu Silverblue und Toolbox zu lesen. Von rpm-ostree wird abgeraten. „rpm-ostree should only be used when there is no other way“. Kurze Einführung zu Toolbox zur Weterbidung: https://fedoramagazine.org/a-quick-introduction-to-toolbox-on-fedora/
Welche meiner via rpm-ostree installierten Pakete hättest du denn in eine Toolbox ausgelagert?
Für MicroOS zumindest ist die Handreichung, alles was sich auch funktionabel anderweitig als auf dem Base-System installieren lässt, auch anderweitig zu installieren. Aufs Base-System kämen dann nur so Sachen wie z.B. Treiber, vllt Firewall- und VPN-Pakete und ähnliches Gedöns.
Keine Ahnung – aber einfach so locker-flockig die Installation via „rpm-ostree“ empfehlen ohne die Warnung der Entwickler zu erwähnen, dass man das Tool nur im äußerten Notfall nutzen sollte, ist amateurhaft.
Keine Ahnung haben, aber mir Amateurhaftigkeit zu unterstellen hat auch eigenen eigenen Stil. Ich bin für konstruktives Feedback immer zu haben, zumal meine Erfahrungen mit Silverblue als primäres System erst wenige Tage alt ist und ich sicherlich nicht die Weisheit mit Löffeln gefressen habe, aber das ist nicht konstruktiv, sondern einfach nur dünn.
Keines der Pakete kann man sinnvoll in einer Toolbox installieren. Lediglich die GNOME Shell Extensions könnte man auch im Userspace installieren, aber Fedora Silverblue hat im Baseimage durchaus GNOME Shell Extensions enthalten, also ist es nicht gänzlich abwegig diese via rpm-ostree über das Baseimage zu legen.
Schau Dir mal distrobox (https://github.com/89luca89/distrobox) an, das ist toolbox on Steroids und integriert auch gut mit dem Desktop für grafische Anwendungen. Du kannst auch unterschiedliche Distributionen als Basis für den Container wählen, falls zB Software nur als deb oder rpm zur Verfügung steht oder eine bestimmte Version von Ubuntu braucht.
Hallo Gerrit!
Ich hätte Silverblue gerne auf meinem Hauptrechner als Daily Driver eingesetzt, aber das Mainboard darin gehört leider zu denen, die wegen Shim-Problemen nicht vom USB-Stick booten.
Das Problem gab es schon unter Fedora 37 und nach dem, was ich in den Bugreports lesen kann, wird das auch für 38 nicht für ein Fix reichen, eher dann für Fedora 39.
„During Fedora 38 Final Go/No-Go meeting, this blocker bug has been waived under the „difficult to fix“ exception, and has become a Fedora 39 Beta blocker. Please, let’s do our best to fix it by then, thank you.“
Der letzte Eintrag dazu.
Oder weißt Du, wenn man Silverblue 36 installiert und dann per Rebase das auf 37 anhebt, ob das funktionieren könnte? Beim „normalen“ Fedora ist das wohl eine Option.