Kein Bock auf Post-Install Skripte? Ein Fedora Kickstart-Installer der die Systemkonfiguration gleich mitbringt.

Voltcraft

Ensign Pro
Registriert
Dez. 2004
Beiträge
164
Liebe Fedora Fans,

I]ich habe angefangen mich mit fedora zu beschäftigen und bin auf viele Anleitungen für post-install Skripte gestoßen. Da habe mich gefragt, wie ich meinen Ablauf nach der Installation gestalten könnte. Ich habe über Skripte und Ansible nachgedacht und bin schließlich auf Kickstart gestoßen.

Ich fand Kickstart eine gute Möglichkeit, ein individuelles Installationsprogramm zu erstellen, sodass ich keine Skripte für die Nachinstallation mehr verwenden muss...

Also habe ich mir einen Plan zurechtgelegt, was ich für meinen privaten Desktop-Rechner erreichen möchte: Eine einzige Kickstart-Datei, die die gesamte Installation steuert – ein paar interaktive Abfragen (Hardwareerkennung + Anmeldedaten), der Rest passiert vollautomatisch.

Das Repo findet ihr hier: https://codeberg.org/mxsb/fedora-mxsb-kickstart

Es enthält einige Tools zum Testen des Installers und der eigentlichen Kickstart-Datei sowie ein Tool, das ich selbst entwickelt habe, da es noch keines gab: uki-snap. Es verwaltet Unified Kernel Images für Snapshots, übernimmt die Signierung und bietet atomares Rollback – und schließt damit eine Lücke, da Snapper keine UKI-Unterstützung und systemd-boot keine Snapshot-Integration bietet.

Was der Installer macht:

einige Sicherheitsverbesserungen (Secure Boot, Firewall-Zone „public“, SSH deaktivieren)
openSUSE-Style flat BTRFS-Layout
signiertes systemd-boot
UKI-Boot-Images
Snapper-Snapshots bei DNF-Upgrades in Kombination mit UKIs pro Snapshot
uki-snap-Tool zur Verwaltung von Snapshots und Rollbacks über die Kommandozeile
Einige persönliche Anpassungen bei der Gnome-Ordnerstruktur
Firefox
Weitere Details im README.

Ich arbeite derzeit an der Einrichtung der LUKS-Verschlüsselung und habe noch einige Ideen zur Integration weiterer Anwendungen sowie zur FIDO2-Unterstützung. Es gibt eine Datei ROADMAP.md, die die Richtung beschreibt, und eine Datei DECISIONS.md, in der festgehalten ist, was beschlossen wurde und warum.

Das Ganze ist nicht als Produkt oder Ähnliches gedacht, sondern soll vielleicht als Inspiration dienen, was durch die Erstellung eines benutzerdefinierten Installationsprogramms erreicht werden kann.

Ich habe das Projekt mit Hilfe von Claude Code erstellt, sonst hätte es viel länger gedauert, alle Recherchen durchzuführen und alle Details über dracut und die Funktionsweise von Fedora zu lernen. Ich lerne jedenfalls viel dabei und habe Spaß an dem Prozess.

Die benutzerdefinierte ISO basiert derzeit auf Fedora 43, vielleicht funktioniert sie auch mit 44 sofort – das habe ich noch nicht ausprobiert. Ich habe zwar vor, Fedora 44 zu testen, möchte aber zuerst die Verschlüsselung fertigstellen.

Ich freue mich über Feedback und Verbesserungsvorschläge. Wenn der Installer ein paar Nutzer findet, bin ich happy. Ich denke, es ist einfach, ihn ein wenig anzupassen, und es gibt Versions-Tags, um jeden Entwicklungsschritt zu überprüfen.

Über Feedback und Anregungen freue ich mich, hier noch der originale Reddit Post zum Thema.

Grüße
VC
 
  • Gefällt mir
Reaktionen: Sensei21
Ich nutze zwar kein Fedora, aber interessantes Projekt.

Ich setze lieber auf Post Install Scripte, weil ich mit der Zeit gemerkt habe, dass ich von Installation zu Installation immer wieder ein paar Änderungen vornehme/vornehmen muss, die ich beim Überfliegen eines Scripts schnell vornehmen kann (z.B. Programme ein/auskommentieren oder Konfigurationen von plymouth, mkinitcpio/dracut, die ich von Rechner zu rechner mal so und mal so handhabe). Umso komplexer solche Änderungen werden, umso nerviger können solche Anpassungen werden.

Aber "openSUSE-Style flat BTRFS-Layout" oder "Snapper-Snapshots bei DNF-Upgrades in Kombination mit UKIs pro Snapshot" hört sich interessant an.
 
  • Gefällt mir
Reaktionen: Voltcraft
Voltcraft schrieb:
Ich fand Kickstart eine gute Möglichkeit, ein individuelles Installationsprogramm zu erstellen, sodass ich keine Skripte für die Nachinstallation mehr verwenden muss...
Also was du da gebaut hast, ist im Prinzip ein ziemlich fancy post install script. ;)
Es geht auch schon langsam in Richtung eigener Distribution auf Basis von Fedora. Du änderst ja die Standardkonfiguration, die nach der Installation dem User vorgesetzt wird.


Was ich generell an solchen Programmen vermisse, ist eine Analyse eines vorhandenen Systems. Dabei soll aufgedeckt werden, wie weit das System und die Zielkonfiguration differieren und ob man einen Teil der Änderung in eine neu zu erstellende Zielkonfiguration einfließen lassen will.
Das kann allerdings zu einer monumentalen Aufgabe anwachsen, je nachdem wie viele mögliche Konfigurationen man erkennen will. Z. B. schaut man nur die firewalld oder guckt man auch auf ein eventuell installierte ufw.
 
Ja es ist bestimmt ein bisschen vom Anwendungsfall abhängig. Die Gnome Veränderungen oder installierte Programme kann man sicherlich auch später noch anpassen. Mir ging es hauptsächlich um btrfs mit secure boot und ukis. Das ganze dann kombiniert mit snapper bootable rollbacks.
Wenn man das immer anders haben möchte machen Skripte mehr Sinn. Für mich privat geht es nur um 2 Maschinen und ich mag halt die Idee nach der Installation alles ready zu haben 🙂

Jetzt erstmal noch Verschlüsselung und vllt mache ich später noch eine Niri Version oder was mit DMS.
War jedenfalls positiv überrascht was alles damit geht. Abreite gerade ein einer schöneren UX, fühlt sich schon wie mein eigener Installer an jetzt ☺️
Ergänzung ()

Krik schrieb:
eine Analyse eines vorhandenen Systems
Das wäre sicherlich auch ein interessanter Anwendungsfall, aber das Ziel meines Projekts ist die Neuinstallation.
Und ja, es ist so eine Art Crazy Post Install Skript direkt im ISO 😆 man muss halt nach der Installation mix mehr machen. Vllt macht es auch das Leben für Menschen die sich mit dem Terminal schwer tun leichter 🤷🏻‍♂️🙂

Eine eigene distri ist es sicherlich nicht, da ich keine eigenen Pakete herausgebe (Ausnahme uki-snap). Soll einfach ein angepasstes Fedora sein, was Fedora nicht macht weil sie mehr auf alles User Rücksicht nehmen müssen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: gio127
Voltcraft schrieb:
Wenn man das immer anders haben möchte machen Skripte mehr Sinn.
So meinte ich das nicht. Mir geht es darum, dass man eine seine eigene Basiskonfiguration erstellt bzw. die Möglichkeit dazu hat. Der TE hat ja hier seine vorgestellt. Der Nächste möchte dann vielleicht eine, die davon abweicht und diese als neuen Standard definieren.
 
Deswegen Open Source, jeder kann Forken und auf seine Wünsche anpassen. Ich glaube was evtl. fehlt ist die Flexibilität das ganze im Nachhinein anzuwenden. Das ist ein guter Punkt, evtl. kann ich ja noch was einbauen das Post Install Skripte pro Thema extrahiert 🙃
 
  • Gefällt mir
Reaktionen: Krik
Voltcraft schrieb:
Ich lerne jedenfalls viel dabei und habe Spaß an dem Prozess.
Dafür alleine lohnt es sich - ansonsten, für mich persönlich sehe ich darin keinen Nutzen, ich bevorzuge es, meine Systeme nach meinem Gusto einzurichten und normalerweise laufen die dann auch mehrere Jahre problemlos und geschmeidig. ;)
 
Zurück
Oben