Próximo: Autenticação de substituto, Anterior: Autorização de servidor substituto, Acima: Substitutos [Conteúdo][Índice]
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:
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'
systemctl daemon-reload systemctl restart guix-daemon.service
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 coreutilsnã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 Invocandoguix 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]