Linux: GNU Guix 1.1 auf dem Weg zu minimalistischem Bootstrapping

Die Paketverwaltungs-Software peilt mit einem reduzierten Satz binärer Seeds vollständig auditierbares Bootstrapping an und enthält eine Fülle neuer Tools.

In Pocket speichern vorlesen Druckansicht 9 Kommentare lesen
Linux: GNU Guix 1.1 ist auf dem Weg zu minimalistischem Bootstrapping

(Bild: J0hnTV/Shutterstock.com)

Lesezeit: 4 Min.
Von
  • Silke Hahn
Inhaltsverzeichnis

GNU Guix, eine funktionale Paketverwaltungs-Software für das GNU-System, ist in Version 1.1 erschienen. Das aktuelle Release umfasst über 14.000 neue Commits von rund 200 Community-Mitgliedern, die Code und Pakete beisteuerten. Das Release der Vorgängerversion liegt bereits 11 Monate zurück, was darauf zurückzuführen ist, dass Beitragende in der Zwischenzeit Bugfixes und neue Features mittels Guix-Pull-Requests kontinuierlich auslieferten.

Aus der Masse der Commits ließen sich viele herausgreifen und breit diskutieren. Im Bereich des Tooling neu ist ein Guix-Tool, das das Deployment mehrerer Maschinen zugleich erlaubt, und zwar unabhängig davon, ob es sich um Remote-Maschinen über SSH oder über einen virtuellen privaten Server (VPS) handelt. Mit dem Befehl guix deploy lässt es sich aufrufen. Der neue Befehl guix system describe führt Entwicklern die Kanäle auf, die sie zum Deployment verwendet haben, und soll auch einen Link enthalten zur Konfigurationsdatei des Betriebssystems. Das soll präzises Tracken der Provenienzen ermöglichen und Nutzer wie Admins in die Lage versetzen, die Veränderungen zwischen verschiedenen Systeminstanzen exakt zu erfassen. Das Feature beruht auf einem neuen provenance-Service.

Das Erstellen von Singularity- und Docker-Images wird auf neue Füße gestellt: Hierzu dient der Befehl guix pack, und insbesondere die Option --entry-point soll dabei nützlich sein. Neu ist auch der Befehl guix time-machine, mit dem man andere Revisionen von Guix ansteuern kann, zum Beispiel zum Installieren älterer Paketversionen oder zum Reproduzieren eines Rechenvorganges in einer identischen Umgebung.

Auf Seiten der Distribution sei die größte Veränderung, dass der Paketabhängigkeits-Graph nun in einem reduzierten Set "binärer Seeds" wurzelt. Dies könnte ein wesentlicher Schritt hin zu einem vollständig auditierbaren Bootstrapping sein, an der Minimalisierung werde weiter gefeilt. Hierzu wurden auf der FOSDEM im Februar 2020 größere Änderungen angekündigt. Für den Installer existiert nun ein automatisiertes Testing-Framework. Insgesamt sei die Distribution um über 3500 Pakete erweitert worden, und fast ebenso viele Pakete wurden aktualisiert. Unter den Ergänzungen sind Build-Systeme für Node, Julia und Qt, die das Schreiben von Paketdefinitionen für diese Ökosysteme vereinfachen sollen. Auch die Programmieroberfläche hat unter der Haube einige Neuerungen erfahren, die zum Beispiel die Performance von Low-Level-Operationen verbessern sollen.

GNU Guix ist ein funktionaler Paketmanager und eine in der Entwicklung fortgeschrittene Distribution des GNU-Systems, die laut GNU-Projekt die Freiheit der Nutzer respektieren soll. Neben den Standardfunktionen einer klassischen Paketverwaltung unterstützt Guix auch Upgrades, Rollbacks, Paketverwaltung ohne Zuteilung von Privilegien, Per-User Profiles und bietet einen Garbage Collector. Guix lässt sich auf jedem System betreiben, auf dem der Linux-Kernel läuft, es kann aber auch als eigenständiges Betriebssystem zum Einsatz kommen auf Geräten mit geeigneten Prozessorkernen (wie i686, x86_64, ARM7 und AArch64). Als eigenständige GNU/Linux-Distribution bietet Guix einen deklarativen, zustandslosen Ansatz zur Verwaltung der Betriebssystem-Konfiguration. Durch Guile-Programmierschnittstellen und Erweiterungen gilt Guix als besonders anpassbar und "hackbar".

Die hier vorgestellten Neuerungen lassen sich im Detail in den Release Notes einsehen. Zusätzliche Änderungen und Fehlerbehebungen finden sich in der Newsfile-Liste. Das Release lässt sich zum Beispiel als ISO-9660-Image oder als VM-Image für Virtuelle Maschinen installieren, die Release Notes listen mehrere Installationswege auf. Entwickler, die Guix bereits nutzen, können durch Aufruf von guix pull eine Aktualisierung durchführen. Mehr Informationen zu GNU Guix lassen sich der Projektseite entnehmen. Dort findet sich auch ein Demo-Video mit einer Installationsanleitung für Einsteiger, das Teil einer Sammlung von Video-Tutorials zum Thema Guix ist. Die Richtlinien für die freien GNU-Betriebssysteme können Interessierte auf den Seiten des GNU-Projekts nachschlagen. (sih)