11 Punkte von GN⁺ 2025-04-23 | 2 Kommentare | Auf WhatsApp teilen
  • Dank bootc und bootfähigen Containern lassen sich Themes nun auf sicherere und besser verwaltbare Weise ändern
  • Da sich /usr als Container definieren und zurückrollen lässt, kann man das System leicht ausprobieren und wieder in den vorherigen Zustand versetzen
  • Mit dem Befehl ostree admin unlock ist auch temporäre Anpassung ohne Neustart möglich
  • Projekte wie Blue95 spiegeln eine Zeit wider, in der die Grenze zwischen Distribution und Container verschwimmt
  • Mit bootfähigen Containern lässt sich persönlicher kreativer Ausdruck verwirklichen

Die Freude an der Anpassung von Linux-Themes

  • Seit Jahrzehnten besteht Interesse an verschiedenen Desktop-Umgebungen und Theme-Einstellungen
    • Xfce, LXQt, Sway usw. wurden installiert und Panels, Launcher, Sounds, Schriftarten und Themes angepasst
    • Anfangs wurden Shell-Skripte verwendet, später entwickelte sich das zu Ansible-Playbooks weiter
    • Dazu gehörten auch systemweite Änderungen, für die das Verzeichnis /usr geändert werden musste
  • Mit der Zeit fiel die Entscheidung jedoch oft darauf, zu den Standardeinstellungen zurückzukehren, weil Probleme wie häufig kaputte oder verschwundene Panels und nicht funktionierende Launcher auftraten
  • Moderne Desktop-Umgebungen wie GNOME und KDE sind bereits sehr ausgereift, sodass auch der Standardzustand völlig zufriedenstellend ist
  • Trotzdem verschwand der Wunsch nach Anpassung nicht, und in diesem Zusammenhang kam das Konzept von bootc ins Blickfeld

Bootc ist ein Spielplatz für Theme-Entwickler

  • bootc ist ein von Red Hat entwickeltes System für bootfähige Container
  • Damit lässt sich das Betriebssystem containerbasiert definieren und verteilen
    FROM quay.io/fedora/fedora-bootc:42  
    RUN dnf install -y my-custom-theme my-custom-fonts my-custom-panel  
    
  • Mit den Befehlen podman und bootc lassen sich Images bauen und Systeme umschalten:
    sudo podman build -f Containerfile -t my-fedora  
    sudo bootc switch --transport containers-storage localhost/my-fedora:latest  
    
  • /usr ist schreibgeschützt, und der Container kann leicht auf einen früheren Zustand zurückgerollt werden
  • Das ist ein idealer Ansatz, um neue Theme-Ideen auszuprobieren
  • Wenn etwas fehlschlägt oder nicht gefällt, lässt sich einfach der vorherige Zustand wiederherstellen

Development Mode (ostree admin unlock)

  • Ein Modus, in dem /usr vorübergehend ohne Neustart verändert werden kann
  • Bei Erfolg kann die Änderung in die Containerfile übernommen werden, bei Misserfolg lassen sich die Änderungen einfach durch einen Neustart entfernen
  • Ein Vorteil ist, dass sich dabei kaum Altlasten ansammeln, wie es in gewöhnlichen Linux-Umgebungen oft der Fall ist

Vergleich mit alternativen Ansätzen

  • Ansible oder Shell-Skripte: Grenzen bei Reproduzierbarkeit und Wiederherstellung
  • systemd-sysext: Overlay-Images für /usr sind möglich, aber das Ökosystem ist noch unausgereift
  • Nix: sehr hohe Einstiegshürde

Insgesamt ist bootc in puncto Sicherheit, Flexibilität und Tool-Unterstützung der stärkste Ansatz
Selbst bei fehlerhaften Änderungen ist ein Rollback einfach, sodass man sich keine Sorgen machen muss, /usr zu beschädigen

Was ist eigentlich eine „Distribution“?

  • Blue95 ist ein angepasstes OCI-Image auf Basis von Fedora Xfce
  • Nach der Vorstellung auf Hacker News kam die Frage auf: „Es ist doch nur ein Theme – braucht es dafür eine Distribution?“

Die Definition von Distribution verschwimmt

  • Früher war das Erstellen einer Distribution sehr komplex und zeitaufwendig
  • Heute lässt sich mit Containerfile + CI/CD-Pipeline leicht ein ähnliches Ergebnis erzeugen
  • Blue95 wird automatisch mit GitHub Actions gebaut und in einer OCI-Registry veröffentlicht
  • Nach welchen Kriterien ein einfacher Fedora-Basiscontainer als Distribution gelten soll, ist unklar

Vergleich mit bisherigen Beispielen

  • Auch bootc-basierte Projekte wie Bluefin und Bazzite werden oft als Distributionen betrachtet
  • Das tatsächliche Nutzungserlebnis unterscheidet sich deutlich von klassischem Fedora
  • Mit der bisherigen Definition lässt sich die Bedeutung von Distribution nur noch schwer erklären
    • Als einzige Definition bleibt womöglich nur noch ein qualitativer Maßstab wie „man erkennt es, wenn man es sieht“

Fazit

  • Nur für ein Theme eine „Distribution“ zu bauen, kann unnötig erscheinen
  • Aber mit bootfähigen Containern ein konsistentes Design und eine App-Zusammenstellung zu definieren
  • und die Freiheit zu haben, das selbst zu bauen und zu nutzen, vermittelt große Freude und ein starkes Gefühl von Erfüllung

Das Betriebssystem, auf dem dieser Text gerade geschrieben wird, ist ein aus meinem eigenen Container gebootetes System
Es ist das Ergebnis einer kreativen Ausdrucksform, die ich auf die Arbeit zahlloser Entwickler aufgesetzt habe,
und genau das bereitet mir große Freude

2 Kommentare

 
zihado 2025-04-23

Ich verstehe bootable Container noch nicht so richtig.

 
GN⁺ 2025-04-23
Hacker-News-Kommentare
  • Gewöhnliche Container sind sehr nützlich zum Testen von Dotfiles

    • Vor ein paar Jahren habe ich meinem Setup-Skript unter https://github.com/nickjj/dotfiles Installationsskripte hinzugefügt, um Systeme schnell einzurichten
    • Getestet wurde mit offiziellen Debian- und Ubuntu-Images
    • Kürzlich habe ich es für die Unterstützung von Arch Linux refaktoriert
    • Den vollständigen Test kann ich in etwa 5 Minuten abschließen
    • Der Container startet in 1 Sekunde, der Rest ist die Ausführung des Skripts
    • So kann ich testen, ohne mein System zu verändern
    • Docker hat in den letzten 10 Jahren viele gute Dinge möglich gemacht
  • Ich mag die Idee von unveränderlichem Linux und bootfähigen Containern

    • Mein nächstes Projekt wird wohl der Umstieg auf bazzite sein
    • Wenn ich mir aber das Containerfile ansehe, mache ich mir Sorgen über Schwachstellen in der Supply Chain
    • Es werden 20 verschiedene copr-Repositories verwendet, und die Versionen sind nicht festgeschrieben
    • Bei Debian habe ich mehr Vertrauen in die Pakete
    • Das Supply-Chain-Risiko in einer einzigen Datei zu bündeln, könnte gefährlich sein
    • Ich frage mich, ob andere dieselben Bedenken haben
  • Ich frage mich, warum es nicht mehr Begeisterung für Themes gibt

    • Ich mag Chicago95 und das KDE-Theme von Garuda
    • Es gibt Websites, auf denen man Themes für verschiedene DEs herunterladen kann, aber die meisten wirken etwas instabil
  • Ich wusste überhaupt nichts über bootfähige Container

    • Blue95 ergibt im Kontext der Verwendung von bootc viel mehr Sinn
    • Man kann sich Beispiele wie NsCDE ansehen
  • Ich muss an die Zeit denken, als ich mit Enlightenment herumgespielt habe

    • Das war ein Versuch, die Möglichkeiten von X11 auszuloten
    • Ich bin überrascht, dass es immer noch existiert
  • Bootfähige Container finde ich interessant

    • Das ähnelt dem impermanence-Modul von NixOS
  • Das bootc-Projekt ist derzeit eines der spannendsten Dinge unter Linux

    • Es wäre schön, wenn ein Projekt wie Debian das übernehmen würde
    • In Sachen Stabilität könnte man viele Vorteile gewinnen
  • Das Thumbnail-Bild repräsentiert meinen gesamten Zustand

  • Ich hatte erwartet, dass sich moderne Betriebssysteme unendlich leicht thematisieren lassen würden, aber das ist nicht so

    • Ich dachte, es würde perfekte Retro-Themes und originelle Themes geben