Guix System ist eine zustandslose Metaverteilung, deren Ursprünge auf ein Forschungspapier zurückgeführt werden können. Das Betriebssystem, dessen Version 1.2.0 gerade veröffentlicht wurde, basiert auf dem Guix-Paketmanager, einem der fortschrittlichsten Open-Source-Paketverwaltungssysteme auf dem Markt.
Guix ist eine Neuimplementierung des Nix-Paketmanagers und Guix System ist das Betriebssystemäquivalent zu NixOS. Guix System ist eine deutliche Abkehr von den üblichen Linux-Distributionen.
Eigenschaften
Für den Anfang strebt Guix System ein vollständig programmierbares Betriebssystem an, und alles, vom GNU Shepherd Init-System bis zum Paketmanager, ist in der Programmiersprache Guile Scheme von GNU geschrieben.
Tatsächlich hat die Distribution auch die Auszeichnung, von der GNU Foundation als freies Softwareprojekt anerkannt zu werden. Während derzeit der Linux-libre-Kernel verwendet wird, arbeiten Entwickler im Hintergrund daran, ihn für den Hurd-Kernel des GNU-Projekts vorzubereiten.
Das Hauptaugenmerk der Distribution liegt jedoch auf dem Guix-Paketmanager, über den erweiterte Funktionen wie die Möglichkeit, Transaktions-Upgrades und Rollbacks durchzuführen und reproduzierbare Build-Umgebungen zu erstellen, übernommen werden.
Die Installations-, Entfernungs- und Aktualisierungsvorgänge in Guix sind also tatsächlich eine Transaktion, die im Wesentlichen nur dann Änderungen an einem System vornimmt, wenn der Vorgang erfolgreich ist. Dies bedeutet, dass das System bei Beendigung einer Transaktion aufgrund eines Stromausfalls oder eines ungeschickten Bedieners weiterhin in einem einwandfreien Zustand bleibt.
Darüber hinaus kann jede dieser Pakettransaktionen zurückgesetzt werden. Wenn ein Paket-Upgrade fehlerhaft war, können Sie problemlos auf das vorherige zurücksetzen, das gut funktioniert hat. Eine weitere beeindruckende Funktion ist die Tatsache, dass Sie Ihre Konfiguration ohne große Probleme auf einem anderen Computer replizieren können.
Das Verwalten eines Guix-Systems ist sehr praktisch, sobald Sie den Dreh raus haben, da es sich im Wesentlichen um eine fortlaufende Version handelt, die Sie mit ein paar Befehlen aktualisieren können. Der Vorgang wird jedoch lange dauern, da Guix eine quellenbasierte Distribution ist und alle verfügbaren Paketdefinitionen neu kompiliert.
Die Distribution hat jedoch die Möglichkeit, vorgefertigte Binärdateien abzurufen. Diese werden als Ersatz bezeichnet, da Sie sie verwenden, anstatt Pakete lokal zu erstellen.
Installation
Der beste Weg, um die Vorteile von Guix zu verstehen, ist die Installation einer Kopie der Guix System-Distribution. Es ist als komprimierte installierbare ISO verfügbar.
Das Gute ist, dass die Distribution über ein Installationsprogramm verfügt, das Sie durch die einzelnen Schritte führt. Es ist ein ncurses-basiertes Installationsprogramm, aber immer noch viel besser als die früheren Inkarnationen der Distribution, bei denen Sie die Installation manuell über die Befehlszeile konfigurieren mussten.
Wenn Sie eine Linux-Distribution installiert haben, sollten die textbasierten Menüs des Guix System-Installationsprogramms kein großes Problem darstellen. Beachten Sie jedoch, dass das Installationsprogramm noch keinen Partitionierer hat, sodass Sie diese manuell vorbereiten müssen. In jedem Fall sollten Erstbenutzer nicht außerhalb der sicheren Grenzen einer virtuellen Umgebung mit dem Guix-System experimentieren.
Der vorletzte Schritt im Installationsprogramm fordert Sie auf, eine oder mehrere Desktop-Umgebungen auszuwählen, und bietet vertraute Optionen wie Gnome, MATE, Xfce, Enlightenment, Openbox und andere. Das Installationsprogramm sammelt dann alle diese Informationen in einer bearbeitbaren Konfigurationsdatei, die es dann zur Installation der Distribution verwendet.
Die Installation wird einige Zeit in Anspruch nehmen, da die Bibliotheken und Pakete aus dem Quellcode kompiliert und installiert werden. Die genaue Zeit hängt von der Verarbeitungsleistung Ihres Computers und der Anzahl der Pakete ab, die das Installationsprogramm kompilieren muss.
Zusätzlich zu einer installierbaren ISO erstellt das Guix System-Projekt sehr hilfreich auch ein Image der virtuellen Festplatte, das Sie mit dem Qemu-Emulator verwenden können, um eine vorinstallierte Umgebung zu starten. Mit diesem Image können Sie eine Guix System-Installation starten, die den Xfce-Desktop verwendet. Erstanwender sollten sich mit diesem virtuellen Image besser ein Bild von Guix machen, als zu versuchen, das System von Grund auf neu zu installieren.
Mit Guix arbeiten
Dank des Xfce-Desktops sieht die Distribution von außen nicht so fremd aus wie von innen. Unabhängig von Ihrer Erfahrung mit Linux können Sie mit Ihrer Guix System-Installation nicht viel erreichen, ohne zuerst die Dokumentation gelesen zu haben.
Die Distribution verfügt über eine Reihe von Barebone-Apps, sodass Sie diese in einen verwendbaren Desktop umwandeln müssen. Das Gute ist, dass sich die Interaktion mit dem Guix-Paketmanager nicht wesentlich von der Verwendung von apt oder dnf unterscheidet, sobald Sie durch die Dokumentation gescrollt haben, um sich mit den Besonderheiten vertraut zu machen.
Es wird jedoch einige Zeit dauern, bis Sie sich mit einigen der erweiterten Funktionen zur Paketverwaltung vertraut gemacht haben. Da es sich um eine GNU-Distribution handelt, steht Ihnen über die Repositories eine geringere Anzahl von Software zur Verfügung.
Die Distribution unterstützt jedoch Flatpak und Sie können das Flathub-Repo hinzufügen, um einige der beliebten Apps abzurufen, die nicht in den offiziellen Repositories verfügbar sind. In unseren Tests verhielten sich Apps, die über Flatpak abgerufen wurden, inkonsistent. Keiner von ihnen wurde in den Menüs angezeigt, und einige von ihnen konnten nicht einmal über die Befehlszeile gestartet werden.
Wenn Sie es herausfordern und das Guix-System außerhalb einer virtuellen Umgebung installieren und verwenden, wird die erste Ablenkung durch den Linux-libre-Kernel verursacht, der von allen binären Blobs im Kernel befreit ist.
Dies schränkt die Hardwareunterstützung ein, insbesondere bei drahtlosen Karten und Grafikkarten. Um diese Einschränkungen zu umgehen, können Sie das Nonguix-Repository verwenden, das Treiber enthält, die nicht frei sind und nicht im vorgelagerten Linux-libre-Kernel enthalten sein können.
Der Wettbewerb
Im Vergleich zu den üblichen Linux-Distributionen ist die Installation und Verwaltung einer Guix System-Installation mit einer steilen Lernkurve verbunden. Mit Guix kommen Sie nicht weit, ohne auf die offizielle Dokumentation zu verweisen.
Alles vom Init-System über das Dateisystem bis hin zur Paketverwaltung unterscheidet sich stark von dem, was Sie in herkömmlichen Linux-Distributionen haben. Um diese zu beherrschen, sind Zeit und einiges an Lesen erforderlich.
Guix ist eine Neuimplementierung von Nix in GNU Guile, wodurch das Guix-System NixOS viel ähnlicher wird. Trotzdem gibt es immer noch erhebliche Unterschiede zwischen den beiden. Im Gegensatz zu NixOS verwendet Guix System beispielsweise den GNU Shepherd Service Manager. Auch wenn Nix-Benutzer auf konzeptioneller Ebene besser mit Guix vertraut sind als Linux-Benutzer, müssen sie sich dennoch auf die Dokumentation beziehen, um die Installation durchzuführen.
Endgültiges Urteil
Das Guix-System als normalen Linux-Desktop zu betrachten, wäre eine große Ungerechtigkeit.
Guix System ist wie NixOS für Benutzer gedacht, die die Konfiguration für ihre gesamte Installation in einer einzigen Datei definieren möchten. Die Distribution wird Benutzer ansprechen, die ein System haben möchten, mit dem sich virtuelle Maschinen relativ einfach instanziieren lassen.
Nur diejenigen, die seit einiger Zeit Linux-Computer verwalten, können die Vorteile des Guix-Paketmanagers voll und ganz nutzen. Die Distribution ist für Benutzer sinnvoll, die sich für reproduzierbare Builds interessieren und die Möglichkeit haben möchten, lokal erstellte Pakete mit Upstream herauszufordern.
Für alle anderen wird die steile Lernkurve für Guix eine große Ablenkung sein. Das Versprechen, Stabilität für kritische Bereitstellungen wie Server bereitzustellen, kann in vertrauten Umgebungen von CentOS oder Arch erreicht werden. Die gute Nachricht ist jedoch, dass Sie den Guix-Paketmanager auf Ihrer bekannteren Linux-Distribution „installieren“ können.
Eine weitere Lücke in Bezug auf die Benutzerfreundlichkeit ist die Übernahme des GNU-Prinzips der freien Software, das für eine große Anzahl von Benutzern edel, aber unpraktisch ist.
Alles in allem wird es trotz der Überlegenheit des Guix-Systems eine große Anzahl durchschnittlicher Linux-Benutzer nicht ansprechen.
- Wir haben die besten Linux-Distributionen für Anfänger vorgestellt.