Suivant: , Monter: Installation   [Table des matières][Index]


2.1 Installation binaire

This section describes how to install Guix from a self-contained tarball providing binaries for Guix and for all its dependencies. This is often quicker than installing from source, which is described in the next sections. Binary installation requires a system using a Hurd or Linux kernel; the GNU tar and Xz commands must also be available.

Important : This section only applies to systems without Guix. Following it for existing Guix installations will overwrite important system files.

Nous recommandons l’utilisation de ce script d’installation du shell. Ce script automatise les étapes de téléchargement, d’installation et de configuration initiale décrites ci-dessous. Il doit être exécuté sous l’utilisateur root. Vous pouvez donc l’exécuter en tant que root :

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

Si vous utilisez Debian ou une dérivée comme Ubuntu, vous pouvez plutôt installer le paquet (il se peut qu’il soit plus vieux que 8ed9ce9 mais vous pourrez le mettre à jour en lançant ‘guix pull’) :

sudo apt install guix

De même sur openSUSE :

sudo zypper install guix

Lorsque vous aurez terminé, voir Réglages applicatifs pour la configuration supplémentaire dont vous pourriez avoir besoin, et Guide de démarrage pour vos premiers pas !

L’installation se déroule comme ceci :

  1. Télécharger le tarball binaire à partir de ‘https://ftp.gnu.org/gnu/guix/guix-binary-8ed9ce9.x86_64-linux.tar.xz’, où x86_64-linux peut être remplacé par i686-linux pour une i686 (32-bits) machine fonctionnant déjà avec le noyau Linux, et autres (voir Distribution GNU).

    Assurez-vous de télécharger le fichier .sig associé et de vérifier l’authenticité de l’archive avec, comme ceci :

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

    Si cette commande échoue parce que vous n’avez pas la clef publique requise, lancez cette commande pour l’importer :

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

    et relancez la commande gpg --verify.

    Remarquez qu’un avertissement du type « Cette clef n’est pas certifiée par une signature de confiance ! » est normal.

  2. Maintenant, vous devez devenir root. En fonction de votre distribution, vous devrez lancer su - ou sudo -i. En tant que root, lancez :
    # cd /tmp
    # tar --warning=no-timestamp -xf \
         /chemin/vers/guix-binary-8ed9ce9.x86_64-linux.tar.xz
    # mv var/guix /var/ && mv gnu /
    

    Cela crée /gnu/store (voir Le dépôt) and /var/guix. Ce dernier contient un profil prêt à être utilisé pour root (voir les étapes suivantes).

    Ne décompressez pas l’archive sur un système Guix lancé car cela écraserait ses propres fichiers essentiels.

    L’option --warning=no-timestamp permet de s’assurer que GNU tar n’émet pas d’avertissements concernant des « horodatages manifestement anciens » (de tels avertissements ont été déclenchés par GNU tar 1.26 et plus anciens ; les versions récentes conviennent). Ils proviennent du fait que tous les fichiers de l’archive ont leur heure de modification fixée à un (ce qui signifie le 1er janvier 1970). Ceci est fait exprès pour s’assurer que le contenu de l’archive est indépendant de son temps de création, la rendant ainsi reproductible.

  3. Rendez le profil disponible sous ~root/.config/guix/current, qui est l’emplacement où guix pull installera les mises à jour (voir Invoquer guix pull) :
    # mkdir -p ~root/.config/guix
    # ln -sf /var/guix/profiles/per-user/root/current-guix \
             ~root/.config/guix/current
    

    Agrémentez etc/profile pour augmenter PATH et les autres variables d’environnement nécessaires :

    # GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \
      source $GUIX_PROFILE/etc/profile
    
  4. Créez le groupe et les comptes utilisés pour la construction comme expliqué plus loin (voir Réglages de l’environnement de construction).
  5. Lancez le démon et paramétrez-le pour démarrer automatiquement au démarrage.

    Si votre distribution hôte utilise le système d’initialisation systemd, cela peut se faire avec ces commandes :

    # 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
    

    Vous pourriez aussi vouloir faire en sorte que guix gc soit lancé périodiquement :

    # 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
    

    Vous voudrez peut-être éditer guix-gc.service pour ajuster la ligne de commande à vos besoins (voir Invoquer guix gc).

    Si votre distribution hôte utilise le système d’initialisation Upstart :

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

    Sinon, vous pouvez toujours démarrer le démon manuellement avec :

    # ~root/.config/guix/current/bin/guix-daemon \
           --build-users-group=guixbuild
    
  6. Rendez la commande guix disponible pour les autres personnes sur la machine, par exemple avec :
    # mkdir -p /usr/local/bin
    # cd /usr/local/bin
    # ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
    

    C’est aussi une bonne idée de rendre la version Info de ce manuel disponible ici :

    # 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
    

    Ainsi, en supposant que /usr/local/share/info se trouve dans le chemin de recherche, l’exécution de info guix ouvrira ce manuel (voir (GNU Texinfo)texinfo, pour plus de détails sur la modification du chemin de recherche Info).

  7. Pour utiliser les substituts de ci.guix.gnu.org, bordeaux.guix.gnu.org ou l’un de leurs miroirs (voir Substituts), autorisez-les :
    # 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
    

    Remarque : Si vous n’activez pas les substituts, Guix va tout compiler depuis les sources sur votre machine, rendant très coûteuse chaque installation et chaque mise à jour. Voir De la confiance en des binaires, pour une discussion des raisons pour lesquelles on pourrait vouloir désactiver les substituts.

  8. On peut avoir besoin d’effectuer des étapes supplémentaires pour que son environnement Guix soit prêt à être utilisé, voir Réglages applicatifs.

Voilà, l’installation est terminée !

Vous pouvez confirmer que Guix fonctionne en installant un paquet d’exemple dans le profil de root :

# guix install hello

L’archive d’installation binaire peut être (re)produite et vérifiée simplement en lançant la commande suivante dans l’arborescence des sources de Guix :

make guix-binary.system.tar.xz

… ce qui à son tour lance :

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

Voir Invoquer guix pack, pour plus d’info sur cet outil pratique.


Suivant: Prérequis, Monter: Installation   [Table des matières][Index]