Próximo: , Anterior: , Acima: Instalando Guix em um Cluster   [Conteúdo][Índice]


9.2 Configurando nós de computação

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]