Linux ist schön und gut, aber ich muss dann doch immer das eine oder andere anpassen. Jede Linux-Distribution hat ihre Macken und ist nicht einhundert Prozent an meine Hardware angepasst. Dazu dann noch diverse kleine Konfigurationanpassungen, Skripte und Programme, die mir das Leben erleichtern. Da kommt einiges zusammen und ich tue mich einigermaßen schwer damit, die Übersicht zu behalten.

Ich habe die Dinge aufgeschrieben, die ich angepasst habe, zuerst in einem internen Wiki, dann hier in diesem Blog. Beides ist schön und gut, kommt mir aber nicht sonderlich effizient vor. Wenn ich mein Betriebssystem neu aufsetze, oder einen neuen Computer in Betrieb nehme, muss ich alle Anpassungen erneut zusammensuchen und anwenden. Es wäre viel einfacher, wenn ich Anpassungen so ablegen würde, dass ich sie automatisch auf einem Computer anwenden kann.

Naturgemäß ist das ein weit verbreitetes Poblem und gibt es viele Lösungswege. Die Schwierigkeit besteht darin, sich für einen Weg zu entscheiden. Nach einigem Überlegen denke ich, dass ich mit der Paketverwaltung des jeweiligen Zielsystems arbeiten sollte. Sie bietet exakt die Funktionalität, die ich benötige. Andere Wege, wie etwa etwas wie Ansible, der Download von Dateien mittels wget und Bash-Installationsskripte würden ebenso funktionieren, sie duplizieren aber eben das, was die Paketverwaltung ohnehin bereitstellt. Snap, Flatpak, AppImage und Docker sind vermutlich keine Alternative, weil ich mit ihnen zwar Programme installieren könnte, aber wohl nicht die Konfiguration meines Systems anpassen kann.

Mit der Paketverwaltung kann ich für jede Konfigurationsanpassung, für jedes Skript und für jedes Programm ein Paket erstellen, das ich auf einem Server bereitstelle. Auf dem Zielsystem muss ich den Server als Paketquelle ergänzen und kann dann mit denkbar einfach Pakete installieren. Das Erzeugen und Bereitstellen der Pakete kann ich vermutlich weitgehend automatisieren. Der Paketserver hilft mir, einen Überblick über alle Pakete zu behalten, die ich erstellt habe.

Nachteilig an dieser Lösung ist, dass ich mich in die Arbeit mit verschiedenen Paketverwaltungen einarbeiten muss, nämlich zumindest dpkg für meinen Linux-Server und für meine Raspberry Pis, und eopkg für meinen Solus-Computer.

Ich werde über den Fortgang dieses Projekts berichten.