Próximo: , Anterior: , Acima: Substitutos   [Conteúdo][Índice]


5.3.3 Obtendo substitutos de outros servidores

Guix pode procurar e buscar substitutos de vários servidores. Isso é útil quando você está usando pacotes de canais adicionais para os quais o servidor oficial não tem substitutos, mas outro servidor os fornece. Outra situação em que isso é útil é quando você prefere baixar do servidor substituto da sua organização, recorrendo ao servidor oficial apenas como um fallback ou descartando-o completamente.

Você pode dar ao Guix uma lista de URLs de servidores substitutos e ele irá verificá-los na ordem especificada. Você também precisa autorizar explicitamente as chaves públicas dos servidores substitutos para instruir o Guix a aceitar os substitutos que eles assinam.

No Guix System, isso é obtido modificando a configuração do serviço guix. Como o serviço guix faz parte das listas padrão de serviços, %base-services e %desktop-services, você pode usar modify-services para alterar sua configuração e adicionar as URLs e chaves substitutas que você deseja (veja modify-services).

Como exemplo, suponha que você queira buscar substitutos de guix.example.org e autorizar a chave de assinatura desse servidor, além do padrão bordeaux.guix.gnu.org e ci.guix.gnu.org. A configuração do sistema operacional resultante será algo como:

(operating-system
 ;; …
 (services
  ;; Suponha que estamos começando com '%desktop-services'. Substitua-o
  ;; pela lista de serviços que você está realmente usando.
  (modify-services %desktop-services
    (guix-service-type config =>
                       (guix-configuration
                        (inherit config)
                        (substitute-urls
                         (append (list "https://guix.example.org")
                                 %default-substitute-urls))
                        (authorized-keys
                         (append (list (local-file "./key.pub"))
                                 %default-authorized-guix-keys)))))))

Isso pressupõe que o arquivo key.pub contém a chave de assinatura de guix.example.org. Com essa alteração em vigor no arquivo de configuração do seu sistema operacional (digamos /etc/config.scm), você pode reconfigurar e reiniciar o serviço guix-daemon ou reinicializar para que as alterações entrem em vigor:

$ sudo guix system reconfigure /etc/config.scm
$ sudo herd restart guix-daemon

Se você estiver executando o Guix em uma "distribuição estrangeira”, você deve seguir os seguintes passos para obter substitutos de servidores adicionais:

  1. Edite o arquivo de configuração de serviço para guix-daemon; ao usar systemd, normalmente é /etc/systemd/system/guix-daemon.service. Adicione a opção --substitute-urls na linha de comando guix-daemon e liste as URLs de interesse (veja guix-daemon --substitute-urls):
    … --substitute-urls='https://guix.example.org https://bordeaux.guix.gnu.org https://ci.guix.gnu.org'
    
  2. Reinicie o daemon. Para systemd, é assim:
    systemctl daemon-reload
    systemctl restart guix-daemon.service
    
  3. Autorize a chave do novo servidor (veja Invocando guix archive):
    guix archive --authorize < key.pub
    

    Novamente, isso pressupõe que key.pub contém a chave pública que guix.example.org usa para assinar substitutos.

Agora você está pronto! Os substitutos serão preferencialmente retirados de https://guix.example.org, usando bordeaux.guix.gnu.org e então ci.guix.gnu.org como opções de fallback. Claro que você pode listar quantos servidores substitutos quiser, com a ressalva de que a pesquisa de substitutos pode ser desacelerada se muitos servidores precisarem ser contatados.

Troubleshooting: Para diagnosticar problemas, você pode executar guix weather. Por exemplo, executando:

guix weather coreutils

não apenas informa qual dos servidores atualmente configurados tem substitutos para o pacote coreutils, mas também informa se um desses servidores não está autorizado. Veja Invocando guix weather, para mais informações.

Observe que também há situações em que é possível adicionar a URL de um servidor substituto sem autorizar sua chave. Veja Autenticação de substituto, para entender esse ponto.


Próximo: Autenticação de substituto, Anterior: Autorização de servidor substituto, Acima: Substitutos   [Conteúdo][Índice]