Suivant: Accès réseau, Précédent: Mettre en place un nœud principal, Monter: Installer Guix sur une grappe de calcul [Table des matières][Index]
Tout d’abord, les nœuds de calcul doivent monter les répertoires NFS exportés par le nœud principal. Vous pouvez le faire en ajoutant les lignes suivantes à /etc/fstab :
head-node:/gnu/store /gnu/store nfs defaults,_netdev,vers=3 0 0 head-node:/var/guix /var/guix nfs defaults,_netdev,vers=3 0 0 head-node:/var/log/guix /var/log/guix nfs defaults,_netdev,vers=3 0 0
… où head-node est le nom ou l’IP de votre nœud principal. À partir de là, en supposant que les points de montage existent, vous devriez pouvoir monter tous ces répertoires sur chaque nœud de calcul.
Ensuite, nous devons fournir une commande guix
par défaut que les
utilisateur·ices peuvent exécuter lors de leur première connexion à la
grappe (ils et elles finiront par invoquer guix pull
, qui leur
fournira leur propre commande guix
). Comme l’a fait le script
d’installation sur le nœud principal, nous le stockons dans
/usr/local/bin :
mkdir -p /usr/local/bin ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix \ /usr/local/bin/guix
Nous devons ensuite dire à guix
de parler au démon qui s’exécute sur
notre nœud principal, en ajoutant ces lignes à /etc/profile
:
GUIX_DAEMON_SOCKET="guix://head-node" export GUIX_DAEMON_SOCKET
Pour éviter des avertissements et vous assurer que guix
utilise le
bon environnement linguistique, nous devons lui dire d’utiliser les données
linguistiques fournies par Guix (voir Réglages applicatifs dans le
manuel de référence de GNU Guix Reference Manual) :
GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale export GUIX_LOCPATH # Nous devons utiliser un nom de paramètre linguistique valide. Essayez « ls $GUIX_LOCPATH/* » # pour voir les noms utilisables. LC_ALL=fr_FR.utf8 export LC_ALL
For convenience, guix package
automatically generates
~/.guix-profile/etc/profile, which defines all the environment
variables necessary to use the packages—PATH
,
C_INCLUDE_PATH
, PYTHONPATH
, etc. Likewise, guix
pull
does that under ~/.config/guix/current. Thus it’s a good idea
to source both from /etc/profile
:
for GUIX_PROFILE in "$HOME/.config/guix/current" "$HOME/.guix-profile" do if [ -f "$GUIX_PROFILE/etc/profile" ]; then . "$GUIX_PROFILE/etc/profile" fi done
Enfin, Guix propose la complétion des commandes notamment pour Bash et
zsh. Dans /etc/bashrc
, pensez à ajouter cette ligne :
. /var/guix/profiles/per-user/root/current-guix/etc/bash_completion.d/guix
Et voilà !
Vous pouvez vérifier que tout est en place en vous connectant à un nœud de calcul et en exécutant :
guix install hello
Le démon sur le nœud principal devrait télécharger les binaires
préconstruits pour vous et les déballer dans /gnu/store et
guix install
devrait créer un ~/.guix-profile contenant la
commande ~/.guix-profile/bin/hello.
Suivant: Accès réseau, Précédent: Mettre en place un nœud principal, Monter: Installer Guix sur une grappe de calcul [Table des matières][Index]