„Unerveränderliche“ Linux-Distributionen, Teil 5 GNU Guix – mit Libre-Kernel und Sheperd-Init-System

Von Christian Rentrop 3 min Lesedauer

Anbieter zum Thema

Wer es besonders mag, findet in der Distribution GNU Guix möglicherweise ein neues Lieblings-Linux: Das auf dem Linux-libre-Kernel basierende System ist stabil und flexibel – und schlägt die Brücke zwischen klassischen und Immutable-Systemen.

Die Guix-Installation ist konsolenbasiert.
Die Guix-Installation ist konsolenbasiert.
(Bild: Rentrop / GNU Guix)

Anders als die meisten Linux-Distributionen, die in aller Regel in irgendeiner Form auf den bekannten Distributionen Debian, Fedora oder Ubuntu aufbauen, geht GNU Guix (im Folgenden kurz: Guix) einen eigenen Weg. Das seit 2012 bestehende Immutable-System, dessen Namen „Geeks“ ausgesprochen wird, ist im Prinzip die Distribution-Werdung der Paketverwaltung des gleichen Namens.

Seit 2015 wird Guix direkt vom GNU-Projekt gepflegt – und respektiert nach Aussagen der Entwickler „die Freiheit der Benutzer und Benutzerinnen von Rechengeräten“. Ziel ist die Erstellung einer vollständig freien Linux-Distribution für x64, i686 und ARM – für die es auch verfügbar ist. Doch was kann das Betriebssystem?

Zunächst handelt es sich bei Guix um eine Immutable-Distribution mit deklarativer Konfiguration, die auf dem Linux-libre-Kernel basiert, der von allen proprietären und nicht als Quelltext verfügbaren Elementen bereinigt wurde. Dementsprechend ist das System wirklich „frei“ von solchen Altlasten, die in anderen Linux-Systemen nach wie vor zu finden sind.

Das System verwendet zudem die Programmiersprache Guile und das Guile Scheme: Diese erlauben die unaufwändige Erstellung von flexiblen sowie per Skript und Plug-in erweiterbaren Applikationen auf der Kommandozeile, im Web und auf dem Desktop. Das schließt auch GNU Shepherd als Init-System ein – ein weiterer Unterschied zu anderen Linux-Varianten.

Mit einer rund 860 Megabyte großen ISO-Datei ist Guix als Installationsmedium sehr schlank, lädt aber auch Wunsch während der Installation große Pakete wie „Cups“ herunter. Der Installationsprozess selbst ist konsolenbasiert – Klicki-Bunti wie bei vielen anderen Immutable-Systemen ist hier nicht. Vielmehr erinnert Guix zunächst an ältere Linux-Distributionen oder einfache Systeme wie etwa Raspbian.

Im Rahmen der Installation ist es möglich, Root-Passwort und Benutzer anzulegen sowie essenzielle Dienste wie Tor und SSH sowie die gewünschte grafische Benutzeroberfläche einzurichten. Die für die jeweilige Desktop-Umgebung benötigten Applikationen werden berücksichtigt und automatisch mitinstalliert. Sämtliche Einstellungen speichert der Installer für die spätere Verwendung in einer Textdatei. Auf diese Weise lässt sich ein exakt gleich eingestelltes Guix-System auf einem anderen Rechner installieren. Vorgefertigte QEMU-Images gibt es ebenfalls.

Mangelnde Hardware-Unterstützung, viele Software-Pakete

Das Setup von GNU Guix kann eine Weile dauern.
Das Setup von GNU Guix kann eine Weile dauern.
(Bild: Rentrop / GNU Guix)

Wer Guix auf seinem System einrichtet, sollte allerdings auf eine kabelgebundene Internetverbindung achten: Mangels proprietärer Treiber im Libre-Kernel tut sich Guix schwer bei der Hardware-Erkennung. Dennoch: Einmal installiert, ist Guix ein ausgesprochen interessantes Linux-System für Software-Entwickler. Das liegt daran, dass es über 27.000 vorkompilierte Softwarepakete unterstützt.

Ein entsprechend konfigurierter Rechner auch gleich mit allen gängigen freien Entwickler-Tools, IDEs, Editoren und Programmiersprachen ausgestattet. Auch in Sachen Virtualisierung, Emulation und Container lässt sich Guix nicht lumpen: Docker- und LXC-Unterstützung sind ebenso an Bord wie VirtualBox und QEMU. Dadurch können beliebige andere Betriebssysteme unter Guix gestartet werden. Je nach Setup sind diese bereits ab Werk vorhanden oder müssen nachinstalliert werden.

Dreh- und Angelpunkt für Paketinstallationen ist die transaktionelle Paketverwaltung guix, die der Distribution ihren Namen gegeben hat. Der Paketmanager ist dem in NixOS verwendeten nix-Paketmanager ähnlich, sehr flexibel einsetzbar und mit einigen nützlichen Extras ausgestattet. Das Erlernen ist kein Problem, GNU liefert eine guix-refcard, die einen schnellen Überblick über die Funktionen der Refcard-Paketverwaltung gibt. Der guix-Paketmanager in der Guix-Distribution verwendet zwar Teile von nix, ist aber ein eigenständiges Projekt.

Interessant an Guix ist die Tatsache, dass das System Vorteile von unveränderlichen (immutable) und regulären Linux-Distributionen unter einen Hut bringt: Anders als klassische Immutable-Systeme ist Guix nicht wirklich unveränderbar, denn es gibt nach wie vor einen root-User. Allerdings gibt es die Möglichkeit, Packages und Systemkonfigurationen mittels Rollback-Funktion des guix-Paketmanagers zurückzusetzen.

Möglich wird das, weil Guix eine „Historie“ von System- und Software-Versionen in Form von sogenannten generations vorhält. Diese werden jeweils als separates Profil abgespeichert, wodurch Fehlkonfigurationen jederzeit rückgängig gemacht werden können.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Fazit: Gekommen, um zu bleiben

Insgesamt präsentiert sich Guix als interessante Linux-Alternative für Entwickler und Administratoren, die einerseits hohe Funktionalität wünschen, andererseits aber nicht auf die Immutable-eigenen Vorzüge verzichten möchten. Die Installation des Systems ist allerdings nur fortgeschrittenen Linux-Recken zu empfehlen. Wer Linux sonst bestenfalls als Windows-Subsystem oder in einer VM unter MacOS verwendet hat, muss sich hier erst einmal zurechtfinden.

Die bestenfalls suboptimale Hardwareerkennung kann zudem Schwierigkeiten machen. Dafür ist Guix aber sehr mächtig – und eines der wenigen wirklich freien Linux-Systeme, das sich ganz und gar an die Bedürfnisse von IT-Profis richtet.

(ID:49945523)