Próximo: Acesso à rede, Anterior: Configurando um nó principal, Acima: Instalando Guix em um Cluster [Conteúdo][Índice]
Primeiro, precisamos de nós de computação para montar os diretórios NFS que o nó principal exporta. Isso pode ser feito adicionando as seguintes linhas a /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
... onde head-node é o nome ou endereço IP do seu nó principal. A partir daí, assumindo que os pontos de montagem existam, você deve conseguir montar cada um deles nos nós de computação.
Em seguida, precisamos fornecer um comando guix
padrão que os
usuários possam executar quando se conectarem ao cluster pela primeira vez
(eventualmente, eles invocarão guix pull
, que fornecerá a eles seu
“próprio” comando guix
). Semelhante ao que o script de
instalação binário fez no nó principal, armazenaremos isso em
/usr/local/bin:
mkdir -p /usr/local/bin ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix \ /usr/local/bin/guix
Precisamos então dizer ao guix
para falar com o daemon em execução no
nosso nó mestre, adicionando estas linhas ao /etc/profile
:
GUIX_DAEMON_SOCKET="guix://head-node" export GUIX_DAEMON_SOCKET
Para evitar avisos e garantir que o guix
use o local correto,
precisamos instruí-lo a usar os dados de local fornecidos pelo Guix
(veja Configuração de aplicativo em Manual de Referência do
GNU Guix):
GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale export GUIX_LOCPATH # Aqui, devemos usar um nome de localidade válido. Tente "ls $GUIX_LOCPATH/*" # para ver quais nomes podem ser usados. LC_ALL=fr_FR.utf8 export LC_ALL
Por conveniência, guix package
gera automaticamente
~/.guix-profile/etc/profile, que define todas as variáveis de
ambiente necessárias para usar os pacotes—PATH
,
C_INCLUDE_PATH
, PYTHONPATH
, etc. Da mesma forma, guix
pull
faz isso em ~/.config/guix/current. Portanto, é uma boa ideia
obter ambos de /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
Por último, mas não menos importante, o Guix fornece conclusão de linha de
comando, notavelmente para Bash e zsh. Em /etc/bashrc
, considere
adicionar esta linha:
. /var/guix/profiles/per-user/root/current-guix/etc/bash_completion.d/guix
Voilà!
Você pode verificar se tudo está no lugar efetuando login em um nó de computação e executando:
guix install hello
O daemon no nó principal deve baixar binários pré-compilados em seu nome e
descompactá-los em /gnu/store, e guix install
deve criar
~/.guix-profile contendo o comando ~/.guix-profile/bin/hello.
Próximo: Acesso à rede, Anterior: Configurando um nó principal, Acima: Instalando Guix em um Cluster [Conteúdo][Índice]