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


2.1 Aus Binärdatei installieren

Dieser Abschnitt beschreibt, wie sich Guix auf einem beliebigen System aus einem alle Komponenten umfassenden Tarball installieren lässt, 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 hier lediglich, dass GNU tar und Xz verfügbar sind.

Anmerkung: 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.

Die Installation läuft so ab:

  1. Laden Sie den binären Tarball von ‘https://ftp.gnu.org/gnu/guix/guix-binary-1.1.0.System.tar.xz’ herunter, wobei System für x86_64-linux steht, falls Sie es auf einer Maschine mit x86_64-Architektur einrichten, auf der bereits der Linux-Kernel läuft, oder entsprechend für andere Maschinen.

    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-1.1.0.System.tar.xz.sig
    $ gpg --verify guix-binary-1.1.0.System.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-1.1.0.System.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 null 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 Aufruf von guix pull):
    # 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/guix-daemon.service \
         /etc/systemd/system/
    # systemctl start guix-daemon && systemctl enable guix-daemon
    

    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 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
    
  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 Aufruf von guix pack für weitere Informationen zu diesem praktischen Werkzeug.


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