Immutable Linux ist längst Alltag
Immutable Linux ist meiner Meinung nach schon längst im Alltag angekommen. Für normale Nutzer:innen gibt es mit Fedora Silverblue oder Aeon OS hervorragende Systeme, die stabil, modern und sehr wartungsarm sind. Wer einfach einen verlaesslichen Desktop moechte, ist dort heute schon sehr gut aufgehoben.
Ich nutze seit Fedora 40 Silverblue und bin im Großen und Ganzen zufrieden. Insbesondere Updates und Fedora-Upgrades sind sehr entspannt durch das einfache Rollback.
Das Problem fängt oft dann an, wenn man nicht nur konsumiert, sondern entwickelt.
Warum immutable für Entwickler oft nervt
Als Entwickler habe ich immutable Distros bisher oft als frustrierend erlebt. Die Theorie ist super, die Praxis aber häufig mühsam. Man möchte Docker nutzen, verschiedene IDEs ausprobieren, CLI-Tools installieren oder spezielle Abhängigkeiten benötigen. Und plötzlich fängt man an, Workarounds zu bauen, Container für alles zu nutzen oder das Basissystem doch wieder zu verbiegen.
Kurz gesagt: Immutable und Entwickler-Alltag haben sich für mich oft wie ein Pain in the Ass angefühlt. Nicht unlösbar, aber unnötig kompliziert. Genau an diesem Punkt habe ich bisher oft wieder aufgegeben und bin zu klassischen Distros zurückgekehrt.
Ernsthaft versucht mal unter Fedora Silverblue, "Docker" und "ddev" so zu installieren, dass diese Tools funktionieren und auch so, dass sie wartbar sind.
Ich möchte ohne Docker auskommen und somit ist auch ddev kein Thema für mich. Allgemin halte ich Tools, die stark ins System und in den Kernel eingreifen, wie z.B. VirtualBox, für Show-Stopper. Wenn aber ein stabiles System Priorität hat, dann mache ich lieber einen großen Bogen um solche Tools.
Aurora OS und der Entwickler-Fokus
Aurora OS fühlt sich in diesem Punkt anders an. Sehr anders sogar. Mein Eindruck nach kurzer Zeit ist, dass Aurora von Anfang an mit Entwickler:innen im Kopf gebaut wurde. Docker bzw. Podman, VS Code, JetBrains-Tools und ähnliche Werkzeuge sind nicht etwas, das man sich irgendwie zurechtbiegen muss, sondern sie sind klar Teil des Konzepts.
PyCharm läuft bei mir sehr zufriedenstellend in einer (Podman)-Toolbox. Der Versuch VSCode in einer Toolbox zu starten, scheiterte bei mir daran, dass VSCode auf den (GNOME-)Schlüsselbund zugreifen will und sich beendet, wenn das nicht klappt. Da ich nicht verstehe, warum VSCode den Schlüsselbund lesen will, will ich das auch nicht mehr benutzen. ZED-Editor ist dann meine alternative IDE, die auf dem Host läuft.
Was mir besonders gefällt: Viele typische Entwickler-Tools lassen sich direkt ins Image integrieren oder sind sauber vorbereitet, ohne dass man das System gegen seine eigene Philosophie benutzen muss. Das fühlt sich nicht nach Bastellösung an, sondern nach einem durchdachten Workflow. Ich verbringe weniger Zeit damit, mein System arbeitsfähig zu machen, und mehr Zeit damit, tatsächlich zu arbeiten.
Wie Bazzite Linux basiert Auorora OS auf Universal Blue - daher auf Fedora. Mit RPM Paketen und dem DNF Paketmanager kommt man aber nicht in Kontakt. Das Base System direkt sollte man nicht selber manipulieren - sondern nur die vordefinierten Optionen nehmen die einem ujust zur Verfügung stellt. Software installiert man über Flatpak und Hombrew (Ein Paketmanager den man vor allem von Mac OS kennt aber auch problemlos auf Linux läuft).
Es ist häufig ein Vorteil von kleinen Distros, die auf die großen wie Debian, Ubuntu, Arch oder Fedora aufsetzen, dass häufig nachgefragte Tools vorinstalliert und vorkonfiguriert sind.
Aurora OS basiert wie die anderen Bluefin-Projekte auf bootc (bootfähige Container) statt rpm-ostree. Mir ist nicht klar, ob bootc im Moment das "local layering", also die Installation von RPMs mit rpm-ostree install/override unterstützt. Jedenfalls rät die Bluefin-Dokumentation davon ab. Somit hat man nur die (zugegebenermaßen große) Auswahl zwischen vorkonfigurierten Images. Mir ist es persönlich lieber, die Kontrolle über Systempakte zu behalten und bei Bedarf nachzuinstallieren oder zu ersetzen. Ein triviales Beispiel ist das Ersetzen von nano durch vim: rpm-ostree override remove nano-default-editor --install vim-default-editor.
Der Hinweis auf Homebrew ist übrigens eine nützliche Anregung. Das habe ich heute gleich auf meinem Silvberblue-System nachinstalliert.