Nach drei Jahren Entwicklungszeit erschien im Januar 2026 die Version 1.5 der Distribution GNU Guix System, die ausschließlich GPL-lizenzierte Software enthält.
Die meisten Distributionen stellen Kompromisslösungen aus freier und unfreier Software dar. Das gilt insbesondere für die Platzhirsche Debian, Ubuntu, Linux Mint, Fedora/Red Hat und (Open)Suse. Dabei geht es primär um die bestmögliche Integration der verbauten Hardware, damit Anwender diese Komponenten vollumfänglich nutzen können. Das klappt tatsächlich immer besser, die Wartung bestehender Systeme gestaltet sich ebenfalls leichter. In der Folge wuchs der Einsatz freier Software in den letzten Jahrzehnten stark.
Für die in Computern verbauten Chips sind Bibliotheken, Treiber und Firmware unterschiedlichster Couleur notwendig. Deren Bereitstellung handhaben die Hardwarehersteller allerdings recht unterschiedlich: Manchmal liegen sie als Quellcode unter einer freien Lizenz vor, manchmal aber auch ausschließlich als Binärcode. Vorbildlich agiert der Druckerhersteller Brother, der seine Druckertreiber seit Längerem unter einer freien Lizenz veröffentlicht [1]. Am anderen Ende des Spektrums steht Nvidia, deren GPU-Treiber ausschließlich in Binärform bereitstehen.
Debian sortiert seine Softwarepakete anhand der Lizenzen. Unfreie Pakete landen in einem der zwei separaten Distributionsbereiche non-free oder – seit Debian 12 “Bookworm” – non-free-firmware. Die Pakete darin entsprechen nicht den Debian-Richtlinien für freie Software (DFSG [2]), dürfen aber dennoch frei verteilt werden. Während sich in non-free auch eher allgemeine Software findet, enthält non-free-firmware ausschließlich Firmware. Ubuntu und Linux Mint agieren ähnlich: Hier heißen die entsprechenden Distributionsbereiche multiverse beziehungsweise import.
GNU Guix System [3] geht keine derartigen Kompromisse ein. Die Distribution des GNU-Projekts [4] basiert ausschließlich auf freier Software und folgt den Richtlinien für freie Systemdistributionen (FSDG [5]). Es handelt sich um ein Rolling-Release-System, sodass Sie jederzeit die aktuellsten Versionen einer Software installieren und benutzen können. Dank integrierter Versionskontrolle kehren Sie problemlos zu einem vorherigen Zustand zurück, falls eine Anpassung wider Erwarten doch schiefgeht (Rollback). Paket-Maintainer wie bei Debian gibt es hier nicht.
System im Überblick
Die Erstveröffentlichung des GNU Guix Systems geht auf das Jahr 2012 zurück, 2015 adoptiert es das GNU-Projekt. Die Aussprache von Guix als “Geeks” verdeutlicht, dass es kein ganz alltägliches Betriebssystem sein will. Nach dreijähriger Entwicklungszeit erfolgte im Januar 2026 die Freigabe der Version 1.5. Einen Veröffentlichungszyklus in regelmäßigen Abständen wie bei anderen Distributionen gibt es bei Guix System nicht.
Seit Projektbeginn gab es nicht nur inhaltliche Änderungen. Bis zur Veröffentlichung der Version 1.0 trug es den Namen Guix System Distribution und wurde mit GuixSD abgekürzt. Heute sind die Bezeichnungen GNU Guix System und GNU Guix gebräuchlich.
Genauer betrachtet steht der Name Guix für zwei Dinge, den verwendeten Paketmanager und die komplette Distribution, die sich aus der ursprünglichen Idee für ersteren entwickelte. Guix als Paketmanager ergänzt bei Bedarf auch andere Paketverwaltungen. Fügen Sie es beispielsweise zu Ihrem Ubuntu-System hinzu, statten Sie es damit mit der Fähigkeit aus, Software sauber im Userspace zu installieren. Von der Grundidee her gehört Guix zur selben Kategorie wie Nix von NixOS oder auch Snap und Flatpak.
GNU Guix System respektiert die Freiheit aller Benutzer von Rechengeräten. Seine Offenheit zeigt sich im Logo (Abbildung 1) mit einer Farbauswahl aus Gelb, Orange und Rot, dessen Form ein Gnu symbolisiert. Die Kuhantilope ist ja bekanntlich das Maskottchen des GNU-Projekts.
Unterstützte Hardware
Die Tabelle “Unterstützte Plattformen” fasst zusammen, welche Prozessorarchitekturen GNU Guix System unterstützt. Mit dieser Konstellation bewegt es sich im selben Fahrwasser wie Trisquel GNU/Linux [6] und PureOS [7].
|
Grad der Unterstützung |
Hardwarearchitekturen |
|---|---|
|
vollständig |
x86_64, i386, ARM-HFv7, ARM-v8 |
|
teilweise/experimentell |
GNU/Hurd (32 und 64 Bit), MIPS64, PowerPC, RISC-V |
Wie schon erwähnt, unterscheidet sich GNU Guix System nicht nur bei der Schwerpunktsetzung der Softwareauswahl von anderen Distributionen. Der klare Fokus führt notwendigerweise zu Kompromissen. Beispielsweise ist die Nutzung aller Features der im System verbauten Hardware gewollt, aber nicht garantiert. Das gilt insbesondere für WLAN-Treiber. Uneingeschränkt nutzbar lassen sich die Atheros-Chips AR9271 und AR7010 sowie die Broadcom-Bausteine der BCM43xx-Reihe (mit Wireless-Core Revision 5). Beide Treiber – ath9k und b43-open – finden sich im Softwarepaket base-firmware. Ist in Ihrem Rechner andere Hardware verbaut, recherchieren Sie am besten bei H-Node [8] nach passenden Alternativen (Abbildung 2) oder installieren GNU Guix System über eine kabelgebundene Netzwerkverbindung.
Installation
Auf der Projektwebseite finden Sie neben einem ISO-Image auch Abbilder für den Emulator Qemu, Binärdateien und den Quellcode als Tarball. Die Entwickler bieten zudem experimentelle Veröffentlichungen für das Notebook Pinebook Pro [9] und das RISC-V-basierte Entwickler-Board VisionFive 2 [10] an. Das rund 1,3 GByte große ISO-Image für die Architektur x86_64 nutzten wir in VirtualBox für unsere Tests.
Die Installation selbst gelingt entweder manuell über die Kommandozeile oder über eine grafische Oberfläche. Der erstgenannte Weg ist gemäß Dokumentation der bevorzugte. Hier erledigen Sie alle Schritte über eine Abfolge von Kommandos, darunter die Hardwareerkennung, die Netzwerkkonfiguration und die Partitionierung. Dabei hilft die ausführliche Dokumentation, die auch größtenteils in deutscher Sprache vorliegt. Einige Abschnitte wurden allerdings bislang noch nicht aus dem englischen Original übersetzt.
Der “grafische” Installationsweg basiert tatsächlich auf einer textbasierten Ncurses-Menüführung (Abbildung 3) im Stil von Red Hat Linux oder Raspbian. Sie ist jedoch weniger ausgefeilt als etwa der textbasierte Installer von Debian. Mitunter geht eine vorgenommene Auswahl verloren, die im Auswahlmenü aufgeführte Software wird trotz vorheriger Markierung nicht eingerichtet. Zudem prüft der Installer nicht, ob das gewählte Partitionierungsschema genügend Platz für die ausgewählten Pakete bietet. Diese Ungereimtheiten führen dazu, dass Sie mitunter Zwischenschritte wiederholen müssen.
Ungeachtet dieser unerfreulichen Fallen lässt sich GNU Guix System in einer guten Viertelstunde installieren. Bei der Einrichtung löst der Paketmanager die Abhängigkeiten sauber auf, sodass am Ende alle benötigten Pakete für das Basissystem und die grafische Benutzeroberfläche installiert sind. In unserem Test nutzten wir den Mate-Desktop [11].
Alle initial getätigten Einstellungen landen am Ende in der Textdatei /etc/config.scm. Darüber sichern oder reproduzieren Sie das Setup des Systems, beispielsweise im Backup oder schlicht als Vorlage, um später diese Zusammenstellung auf einem anderen System zu replizieren. Das vereinfacht nicht nur die Datensicherung, sondern auch das Einrichten und Warten ganzer Infrastrukturen mit identischer Hardware, etwa in Filialnetzen oder Schulungsräumen. Abbildung 4 zeigt einen Ausschnitt unserer Konfigurationsdatei.
Besonderheiten
GNU Guix System richtet sich an eine Zielgruppe, die in Bezug auf Softwarelizenzen keine Kompromisse eingehen kann oder möchte, was vollkommen legitim ist – nur halt nicht immer bequem. Es weicht in einigen Punkten vom Üblichen ab. Mit dem Mate-Desktop sieht es nur auf den ersten Blick wie ein Ubuntu Mate von der Stange aus. Unter der Haube ist es das jedoch nicht.
Das Herzstück bildet der Libre-Kernel, ein Linux-Kernel vollständig ohne Blobs und unfreien Code [12], der einem modifizierten Build-Prozess unterliegt. Die gesamte Prozessverwaltung steuert das Shepherd-Init-System [13]. Als Bootloader dient Grub. Eine mögliche Alternative bietet Libreboot [14], für dessen Einrichtung Sie online eine Beschreibung [15] finden.
Bei der Konfiguration von GNU Guix System machen Sie Bekanntschaft mit der Programmiersprache Guile [16]. Dabei handelt es sich um eine Implementierung der funktionalen Programmiersprache Scheme [17], die wiederum zur Lisp-Familie gehört. Guile kommt sowohl bei der Beschreibung der Services im Init-System Shepherd zum Einsatz als auch bei der Konfiguration des Systems und der installierten Softwarepakete.
Paketverwaltung
An Software herrscht bei GNU Guix System kein Mangel, es stehen etwa 30 000 vorkompilierte Pakete bereit [18]. Abbildung 5 zeigt die Paketsuche im Webbrowser. Wählen Sie eines der Pakete aus der Übersicht aus, erhalten Sie neben einer Beschreibung auch Installationshinweise. Letztere umfassen die notwendigen Kommandozeilenaufrufe für das Werkzeug Guix. Abbildung 6 zeigt ein Beispiel für die Emacs-Erweiterung Youtube-dl [19].
Eine Liste wichtiger Befehle für die Paketverwaltung liefert die Tabelle “Kommandos zur Paketverwaltung”. Hier gibt es Ähnlichkeiten zu Debians Apt, zu NPM und zu Stow [20]. Auch NixOS [21], Homebrew [22] und SPACK [23] agieren ähnlich. Die Paketverwaltung arbeitet transaktionsbasiert [24], die dahinterstehende Logik entspricht der des Versionskontrollsystems Git [25].
Dieses Paradigma bildet die Basis für die bereits genannte Möglichkeit zum Rollback, falls etwas schiefgeht. Gleichzeitig gestattet es die Installation verschiedener Versionen einer Software – analog zu NPM, Stow, SPACK, Snap und Flatpak. Zusätzlich zur systemweiten Version installieren Sie als Benutzer eigene, von Ihnen bevorzugte Varianten und wählen im laufenden Betrieb aus, welche davon Sie gerade verwenden möchten.
Diese Vorgehensweise erweitert den zentralistischen Ansatz mit dem Benutzer Root als Administrator, wie Sie es beispielsweise von Debian, Ubuntu und Fedora kennen. Als Benutzer wächst unter GNU Guix System Ihre Rolle um zusätzliche Rechte, Verantwortlichkeiten und Freiheiten.
Individuell mit Guix installierte Software landet stets im Verzeichnis /gnu/store/. Die Verbindung einer installierten Version zu einem Benutzer, Profil oder Container erfolgt über einen symbolischen Link [26]. Haben mehrere Benutzer Bedarf an derselben Software in identischer Version, installiert Guix sie einmalig und setzt danach passende Links auf die jeweiligen Benutzerprofile. Entfernen Sie später diese Softwareversion wieder, löscht Guix zunächst nur den symbolischen Link zu Ihrem Account. Die Software deinstalliert es erst, wenn auch kein anderer Benutzer sie mehr verwendet. Das Guix-Handbuch [27] und ein Post von Steve George [28] dokumentieren dieses Vorgehen ausführlich.
Vergleichbares leisten weder Flatpak noch Snap: Sie installieren einfach die gewünschte Software samt deren Abhängigkeiten im jeweiligen Nutzerverzeichnis. Damit stehen die Chancen hoch, dass Installationen auf dem System mehrfach vorliegen und auch getrennt gepflegt werden müssen – eine Horrorvorstellung für jeden Admin.
|
Aktion |
Kommando |
|---|---|
|
Paketsuche |
|
|
verfügbare Pakete auflisten |
|
|
verfügbare Pakete zu Paket auflisten |
|
|
Informationen zu Paket anzeigen |
|
|
Größe von Paket mit Abhängigkeiten anzeigen |
|
|
Paketdefinition anzeigen |
|
|
Informationen zum Paketbestand aktualisieren |
|
|
Paket installieren |
|
|
Paket für ein Profil installieren |
|
|
installierte Pakete auflisten |
|
|
installierte Pakete in einem Profil auflisten |
|
|
Profile auflisten |
|
|
installiertes Paket löschen |
|
|
installiertes Paket in Profil löschen |
|
|
installiertes Paket aktualisieren |
|
|
installiertes Paket in Profil aktualisieren |
|
Fazit
Suchen Sie ein Linux-Derivat, das den Prinzipien der freien Software möglichst eng folgt, sind Sie bei GNU Guix System an der richtigen Stelle. Zuverlässig im Alltagsbetrieb, stets aktuell, fehlertolerant, durchdacht und ohne Hintertüren bildet es eine solide Basis für das Informationszeitalter in Reinform. Diese Verlässlichkeit sollte Ihnen ein Blick darauf wert sein. (jlu)
Danksagung
Der Autor bedankt sich bei Veit Schiele und Gerold Rupprecht für deren Kritik und Anregungen bei der Erstellung des Artikels.
Der Autor
Frank Hofmann arbeitet zumeist unterwegs als Entwickler, Trainer und Autor. Bevorzugte Arbeitsorte sind Berlin, Genf und Kapstadt. Er gehört zu den Verfassern des Debian-Paketmanagement-Buchs (https://dpmb.org).
Infos
-
Support von Brother: https://www.brother.de/support/treiber
-
Debian Free Software Guidelines: https://www.debian.org/social_contract#guidelines
-
GNU Guix System: https://guix.gnu.org
-
GNU-Projekt: https://gnu.org
-
FSDG: https://de.wikipedia.org/wiki/GNU-Projekt#Richtlinien_f%C3%BCr_freie_Systemdistributionen_(FSDG)
-
Trisquel GNU/Linux: https://trisquel.info
-
PureOS: https://pureos.net
-
H-Node: https://h-node.org
-
Pinebook Pro: https://pine64.org/devices/pinebook_pro/
-
VisionFive 2: https://www.starfivetech.com/en/site/boards
-
“GNU Guix – mit Libre-Kernel und Shepherd-Init-System”: https://www.datacenter-insider.de/gnu-guix-flexibles-stabiles-freies-linux-system-a-a1a7247f8604948aa5b3d60d4246e81d/
-
Shepherd Init System: https://shepherding.services
-
Libreboot: https://libreboot.org
-
“Guix System and Libreboot”: https://flossmanuals.net/pub/guix-system-and-libreboot-v2.pdf
-
“Guile is a Programming Language”: https://www.gnu.org/software/guile/
-
Scheme: https://www.scheme.org/schemers/
-
Paketsuche für GNU Guix System: https://packages.guix.gnu.org
-
Emacs-Erweiterung Youtube-dl: https://github.com/skeeto/youtube-dl-emacs/
-
GNU Stow: https://www.gnu.org/software/stow/
-
NixOS: https://nixos.org
-
Homebrew: https://brew.sh
-
SPACK: https://spack.io
-
Software-Rollback: Frank Hofmann, “Spielwiese”, LU 09/2023, S. 32, https://www.linux-community.de/49525
-
Git: https://git-scm.com
-
“Guix, another package manager”: https://gricad-doc.univ-grenoble-alpes.fr/en/hpc/softenv/guix/
-
Referenzhandbuch zu GNU Guix: https://guix.gnu.org/manual/1.5.0/de/html_node/index.html
-
“Guix – functional package manager, environments and hosts”: https://www.futurile.net/resources/guix/











