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


2.1 Installation binaire

Cette section décrit comment installer Guix sur un système quelconque depuis un archive autonome qui fournit les binaires pour Guix et toutes ses dépendances. C’est souvent plus rapide que d’installer depuis les sources, ce qui est décrit dans les sections suivantes. Le seul prérequis est d’avoir GNU tar et Xz.

Remarque : We recommend the use of this shell installer script. The script automates the download, installation, and initial configuration steps described below. It should be run as the root user. As root, you can thus run this:

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

L’installation se comme ceci :

  1. Download the binary tarball from ‘https://ftp.gnu.org/gnu/guix/guix-binary-1.1.0.x86_64-linux.tar.xz’, where x86_64-linux can be replaced with i686-linux for an i686 (32-bits) machine already running the kernel Linux, and so on (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-1.1.0.x86_64-linux.tar.xz.sig
    $ gpg --verify guix-binary-1.1.0.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.

    Take note that a warning like “This key is not certified with a trusted signature!” is 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 \
         /path/to/guix-binary-1.1.0.x86_64-linux.tar.xz
    # mv var/guix /var/ && mv gnu /
    

    This creates /gnu/store (voir Le dépôt) and /var/guix. The latter contains a ready-to-use profile for root (see next step).

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

    The --warning=no-timestamp option makes sure GNU tar does not emit warnings about “implausibly old time stamps” (such warnings were triggered by GNU tar 1.26 and older; recent versions are fine). They stem from the fact that all the files in the archive have their modification time set to zero (which means January 1st, 1970). This is done on purpose to make sure the archive content is independent of its creation time, thus making it reproducible.

  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
    

    Source etc/profile to augment PATH and other relevant environment variables:

    # 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
    

    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
    

    That way, assuming /usr/local/share/info is in the search path, running info guix will open this manual (voir Other Info Directories dans GNU Texinfo, for more details on changing the Info search path).

  7. Pour utiliser les substituts de ci.guix.gnu.org ou l’un de ses miroirs (voir Substituts), autorisez-les :
    # guix archive --authorize < \
         ~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub
    
  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: , Monter: Installation   [Table des matières][Index]