Suivant: Authentification des substituts, Précédent: Autoriser un serveur de substituts, Monter: Substituts [Table des matières][Index]
Guix peut chercher et récupérer des substituts à partir de plusieurs serveurs. C’est utile si vous utilisez des paquets de canaux supplémentaires pour lesquels le serveur officiel n’a pas de substituts mais que d’autres serveurs les fournissent. Une autre situation où cela est utile est si vous souhaitez télécharger depuis les serveurs de substituts de votre organisation, en utilisant le serveur officiel en dernier recours, ou en ne l’utilisant pas du tout.
Vous pouvez donner à Guix une liste d’URL de serveurs de substituts et il les vérifiera dans l’ordre indiqué. Vous devez aussi explicitement autoriser les clés publiques des serveurs de substituts pour dire à Guix d’accepter les substituts qu’ils signent.
Sur le système Guix, cela se fait en modifiant la configuration du service
guix
. Comme le service guix
fait partie des services par
défaut, %base-services
et %desktop-services
, vous pouvez
utiliser modify-services
pour changer sa configuration et ajouter les
URL et les clés des serveurs de substituts que vous voulez (voir modify-services
).
Par exemple, supposons que vous vouliez récupérer les substituts de
guix.example.org
et autoriser la clé de signature de ce serveur, en
plus des serveurs ci.guix.gnu.org
et
bordeaux.guix.gnu.org
par défaut. La configuration du système
d’exploitation qui en résulte ressemblera à :
(operating-system
;; …
(services
;; Supposons qu'on commence à partir de '%desktop-services'. Remplaçons-le
;; par la liste des services qu'on utilise vraiment.
(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)))))))
Cela suppose que le fichier key.pub contient la clé de signature de
guix.example.org
. Avec ce changement dans le fichier de
configuration de votre système d’exploitation (disons
/etc/config.scm), vous pouvez reconfigurer et redémarrer le service
guix-daemon
ou redémarrer pour que les changements prennent effet :
$ sudo guix system reconfigure /etc/config.scm $ sudo herd restart guix-daemon
Si vous utilisez Guix sur une « distro externe », vous suivrez plutôt les étapes suivantes pour avoir des substituts de serveurs supplémentaires :
guix-daemon
; pour
systemd, c’est normalement /etc/systemd/system/guix-daemon.service.
Ajouter l’option --substitute-urls à la ligne de command
guix-daemon
et listez les URL qui vous intéressent
(voir guix-daemon --substitute-urls
) :
… --substitute-urls='https://guix.example.org https://ci.guix.gnu.org https://bordeaux.guix.gnu.org'
systemctl daemon-reload systemctl restart guix-daemon.service
guix archive
) :
guix archive --authorize < key.pub
De nouveau, cela suppose que key.pub contient la clé publique que
guix.example.org
utilise pour signer les substituts.
Maintenant vous êtes paré ! Les substituts seront téléchargés de préférence
à partir de https://guix.example.org
, avec
ci.guix.gnu.org
puis bordeaux.guix.gnu.org
en réserve. Évidemment vous pouvez lister autant de serveurs de substituts
que vous voulez, avec l’inconvénient que la recherche de substituts sera
ralentie si vous devez contacter trop de serveurs.
Remarquez qu’il à des situations où vous pourriez vouloir ajouter l’URL d’un serveur de substitut sans autoriser sa clé. Voir Authentification des substituts, pour comprendre ce point délicat.
Suivant: Authentification des substituts, Précédent: Autoriser un serveur de substituts, Monter: Substituts [Table des matières][Index]