Nächste: , Nach oben: Installation   [Inhalt][Index]


2.1 Aus Binärdatei installieren

Dieser Abschnitt beschreibt, wie Sie Guix aus einem alle Komponenten umfassenden Tarball installieren, der Binärdateien für Guix und all seine Abhängigkeiten liefert. Dies geht in der Regel schneller, als Guix aus seinen Quelldateien zu installieren, was in den nächsten Abschnitten beschrieben wird. Vorausgesetzt wird ein System mit Hurd oder Linux als Kernel sowie GNU tar und Xz.

Wichtig: Dieser Abschnitt gilt nur für Systeme ohne Guix. Wenn Sie eine bestehende Guix-Installation haben, würden wichtige Systemdateien überschrieben, wenn Sie der Anleitung folgten.

Wir empfehlen, dass Sie dieses Installations-Skript für die Shell verwenden, welches Guix automatisch herunterlädt, installiert und eine erste Konfiguration von Guix mit sich bringt. Es sollte als der Administratornutzer (als „root“) ausgeführt werden.

cd /tmp
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh

Wenn Sie Debian oder ein Debian-Derivat wie Ubuntu verwenden, können Sie stattdessen das Guix-Paket installieren (obwohl es eine ältere Version als 0e8f7ee mitbringen könnte, können Sie es anschließend über den Befehl ‘guix pull’ aktualisieren):

sudo apt install guix

Das Gleiche gilt auf openSUSE:

sudo zypper install guix

Wenn Sie das erledigt haben, werfen Sie einen Blick auf Anwendungen einrichten für weitere Einstellungen, die Sie vielleicht vornehmen möchten, und lesen Sie die ersten Schritte im Einstieg, um loszulegen!

Die Installation läuft so ab:

  1. Laden Sie den binären Tarball von ‘https://ftp.gnu.org/gnu/guix/guix-binary-0e8f7ee.x86_64-linux.tar.xz’ herunte. Falls Sie Guix auf einer Maschine mit i686-Architektur (32 Bit) einrichten, auf der bereits der Linux-Kernel läuft, ersetzen Sie x86_64-linux durch i686-linux oder entsprechend für andere Maschinen (siehe GNU-Distribution).

    Achten Sie darauf, auch die zugehörige .sig-Datei herunterzuladen und verifizieren Sie damit die Authentizität des Tarballs, ungefähr so:

    $ wget https://ftp.gnu.org/gnu/guix/guix-binary-0e8f7ee.x86_64-linux.tar.xz.sig
    $ gpg --verify guix-binary-0e8f7ee.x86_64-linux.tar.xz.sig
    

    Falls dieser Befehl fehlschlägt, weil Sie nicht über den nötigen öffentlichen Schlüssel verfügen, können Sie ihn mit diesem Befehl importieren:

    $ wget 'https://sv.gnu.org/people/viewgpg.php?user_id=15145' \
          -qO - | gpg --import -
    

    und den Befehl gpg --verify erneut ausführen.

    Beachten Sie, dass eine Warnung wie „Dieser Schlüssel trägt keine vertrauenswürdige Signatur!“ normal ist.

  2. Nun müssen Sie zum Administratornutzer root wechseln. Abhängig von Ihrer Distribution müssen Sie dazu etwa su - oder sudo -i ausführen. Danach führen Sie als root-Nutzer aus:
    # cd /tmp
    # tar --warning=no-timestamp -xf \
         /pfad/zur/guix-binary-0e8f7ee.x86_64-linux.tar.xz
    # mv var/guix /var/ && mv gnu /
    

    Dadurch wird /gnu/store (siehe Der Store) und /var/guix erzeugt. Letzteres enthält ein fertiges Guix-Profil für den Administratornutzer root (wie im nächsten Schritt beschrieben).

    Entpacken Sie den Tarball nicht auf einem schon funktionierenden Guix-System, denn es würde seine eigenen essenziellen Dateien überschreiben.

    Die Befehlszeilenoption --warning=no-timestamp stellt sicher, dass GNU tar nicht vor „unplausibel alten Zeitstempeln“ warnt (solche Warnungen traten bei GNU tar 1.26 und älter auf, neue Versionen machen keine Probleme). Sie treten auf, weil alle Dateien im Archiv als Änderungszeitpunkt 1 eingetragen bekommen haben (das bezeichnet den 1. Januar 1970). Das ist Absicht, damit der Inhalt des Archivs nicht davon abhängt, wann es erstellt wurde, und es somit reproduzierbar wird.

  3. Machen Sie das Profil als ~root/.config/guix/current verfügbar, wo guix pull es aktualisieren kann (siehe guix pull aufrufen):
    # mkdir -p ~root/.config/guix
    # ln -sf /var/guix/profiles/per-user/root/current-guix \
             ~root/.config/guix/current
    

    „Sourcen“ Sie etc/profile, um PATH und andere relevante Umgebungsvariable zu ergänzen:

    # GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \
      source $GUIX_PROFILE/etc/profile
    
  4. Erzeugen Sie Nutzergruppe und Nutzerkonten für die Erstellungs-Benutzer wie folgt (siehe Einrichten der Erstellungsumgebung).
  5. Führen Sie den Daemon aus, und lassen Sie ihn automatisch bei jedem Hochfahren starten.

    Wenn Ihre Wirts-Distribution systemd als „init“-System verwendet, können Sie das mit folgenden Befehlen veranlassen:

    # cp ~root/.config/guix/current/lib/systemd/system/gnu-store.mount \
         ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \
         /etc/systemd/system/
    # systemctl enable --now gnu-store.mount guix-daemon
    

    Außerdem, wenn Sie möchten, dass regelmäßig guix gc durchgeführt wird:

    # cp ~root/.config/guix/current/lib/systemd/system/guix-gc.service \
         ~root/.config/guix/current/lib/systemd/system/guix-gc.timer \
         /etc/systemd/system/
    # systemctl enable --now guix-gc.timer
    

    Vielleicht möchten Sie die in guix-gc.service verwendeten Befehlszeilenoptionen an Ihre Bedürfnisse anpassen (siehe guix gc aufrufen).

    Wenn Ihre Wirts-Distribution als „init“-System Upstart verwendet:

    # initctl reload-configuration
    # cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \
         /etc/init/
    # start guix-daemon
    

    Andernfalls können Sie den Daemon immer noch manuell starten, mit:

    # ~root/.config/guix/current/bin/guix-daemon \
           --build-users-group=guixbuild
    
  6. Stellen Sie den guix-Befehl auch anderen Nutzern Ihrer Maschine zur Verfügung, zum Beispiel so:
    # mkdir -p /usr/local/bin
    # cd /usr/local/bin
    # ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
    

    Es ist auch eine gute Idee, die Info-Version dieses Handbuchs ebenso verfügbar zu machen:

    # mkdir -p /usr/local/share/info
    # cd /usr/local/share/info
    # for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ;
      do ln -s $i ; done
    

    Auf diese Art wird, unter der Annahme, dass bei Ihnen /usr/local/share/info im Suchpfad eingetragen ist, das Ausführen von info guix.de dieses Handbuch öffnen (siehe Other Info Directories in GNU Texinfo hat weitere Details, wie Sie den Info-Suchpfad ändern können).

  7. Um Substitute von ci.guix.gnu.org, bordeaux.guix.gnu.org oder einem Spiegelserver davon zu benutzen (siehe Substitute), müssen sie erst autorisiert werden:
    # guix archive --authorize < \
         ~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub
    # guix archive --authorize < \
         ~root/.config/guix/current/share/guix/bordeaux.guix.gnu.org.pub
    

    Anmerkung: Wenn Sie Substitute abgeschaltet lassen, muss Guix alles auf Ihrem Rechner aus dem Quellcode heraus erstellen, wodurch jede Installation und jede Aktualisierung sehr aufwendig wird. Siehe Vom Vertrauen gegenüber Binärdateien für eine Erörterung, aus welchen Gründen man Substitute abschalten wollen könnte.

  8. Alle Nutzer müssen womöglich ein paar zusätzliche Schritte ausführen, damit ihre Guix-Umgebung genutzt werden kann, siehe Anwendungen einrichten.

Voilà, die Installation ist fertig!

Sie können nachprüfen, dass Guix funktioniert, indem Sie ein Beispielpaket in das root-Profil installieren:

# guix install hello

Der Tarball zur Installation aus einer Binärdatei kann einfach durch Ausführung des folgenden Befehls im Guix-Quellbaum (re-)produziert und verifiziert werden:

make guix-binary.System.tar.xz

… was wiederum dies ausführt:

guix pack -s System --localstatedir \
  --profile-name=current-guix guix

Siehe guix pack aufrufen für weitere Informationen zu diesem praktischen Werkzeug.


Nächste: Voraussetzungen, Nach oben: Installation   [Inhalt][Index]