GNU Guix 1.3.0: Das deklarative Linux-System

Der funktionale Paketmanager GNU Guix 1.3.0 bietet zwei neue Exportfunktionen. Mit ihnen lässt sich ein Linux-System schnell deklarativ konfigurieren.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen

(Bild: GNU Guix)

Lesezeit: 3 Min.

Version 1.3.0 erweitert die funktionale Paketverwaltungs-Software GNU Guix unter anderem um einen initialen POWER9-Support. Noch handelt es sich um eine Technology Preview mit nur wenigen Substitutes – wie das Projekt jeden Ersatz, in der Regel fertige Binaries, für lokal kompilierte Software nennt. Wer letzteren Weg für seine POWER9-Programme wählt, kann seine Erfahrung mit den Guix-Entwicklern teilen.

Dem Paketmanager lässt sich eine Manifestdatei übergeben, die exakt auflistet, welche Software er installieren soll. Bislang mussten Nutzer diese selbst schreiben, nun Guix diese per guix package --export-manifest automatisch erstellen. Dies geschieht auf Basis eines existierenden Profils: Guix verwendet für jeden Nutzer ein Verzeichnis der installierten Pakete unter $HOME/.guix-profile. Anwender müssen jedoch beachten, dass sich die Bezeichnungen der Software über Zeit ändern können, so kann die exportierte Manifestdatei unter Umständen von der tatsächlichen Software des jeweiligen Profils abweichen.

Darüber hinaus lässt sich per guix package --export-channels die Liste der Channel ausgeben. Bei diesen handelt es sich um die URL und einen Zweig eines Git-Repositories. Auf diese Weise lassen sich Guix zum Beispiel zusätzliche Pakete hinzufügen. Auch hier kann es wieder zu Abweichungen vom tatsächlichen Profil kommen, wenn diesem zum Beispiel unterschiedliche Versionen eines Channels zugrunde liegen. Für diesen Fall sieht das Projekt sogenannte Inferiors vor, mit denen sich verschiedene Versionen mischen lassen.

Zusammen lassen sich beide Exportfunktionen ein deklaratives Konfigurieren des Betriebssystems einsetzen. Ziel ist es, dass sich Profile transparent reproduzieren lassen. Dem steht der imperative Ansatz entgegen, bei dem ein Nutzer bei Bedarf Pakete installiert. Guix beherrscht auch dies mit einem guix install.

Eine weitere praktische neue Option für den package-Befehl ist --with-latest. So sucht Guix nach dem neuesten Upstream-Release eines Pakets und installiert dieses. So lassen sich Programme auf den aktuellen Stand bringen, selbst noch kein Guix-Paket vorliegt. Des Weiteren können Programmierer auf diese Weise schnell testen, ob Software nach Änderungen mit dem Rest des Systems kompatibel bleibt.

Hinzu kommen einige neue Funktionen für Entwickler, alle Details finden sich in den Release Notes der neuen Version. GNU Guix ist ein portabler Paketmanager, der sich mit beliebigen GNU/Linux-Distributionen parallel zur vorhandenen Paketverwaltungs-Software einsetzen lässt. Das Projekt bietet ebenfalls eine eigene Distribution des GNU-Betriebssystems namens Guix System an. Guix baut auf denselben Prinzipien wie Nix auf.

(fo)