Suivant: Prérequis, Monter: Installation [Table des matières][Index]
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 : 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.shSi 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 1.4.0 mais vous pourrez le mettre à jour en lançant ‘guix pull’) :
sudo apt install guixDe même sur openSUSE :
sudo zypper install guixLorsque vous aurez terminé, voir Réglages applicatifs pour la configuration supplémentaire dont vous pourriez avoir besoin, et Pour démarrer pour vos premiers pas !
L’installation se déroule comme ceci :
https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.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-1.4.0.x86_64-linux.tar.xz.sig $ gpg --verify guix-binary-1.4.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
.
Remarquez qu’un avertissement du type « Cette clef n’est pas certifiée par une signature de confiance ! » est normal.
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-1.4.0.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.
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
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
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).
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.
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]