Siguiente: Verificación de sustituciones, Anterior: Autorización de servidores de sustituciones, Subir: Sustituciones [Índice general][Índice]
Guix puede buscar y obtener sustituciones a partir de varios servidores. Esto es útil cuando se usan paquetes de canales adicionales para los que el servidor oficial no proporciona sustituciones pero otros servidores sí. Otra situación donde puede esta característica puede ser útil es en el caso de que prefiera realizar las descargas desde el servidor de sustituciones de su organización, accediendo al servidor oficial únicamente como mecanismo de salvaguarda o no usándolo en absoluto.
Puede proporcionarle a Guix una lista de URL de servidores de los que obtener sustituciones y las comprobará en el orden especificado. También es necesario que autorice explícitamente las claves públicas de los servidores de sustituciones para que Guix acepte las sustituciones firmadas por dichos claves.
En el sistema Guix esto se consigue modificando la configuración del
servicio guix
. Puesto que el servicio guix
es parte de las
listas de servicios predeterminadas, %base-services
y
%desktop-services
, puede usar modify-services
para cambiar su
configuración y añadir las URL y claves para sustituciones que desee
(véase modify-services
).
Como ejemplo supongamos que desea obtener sustituciones desde
guix.example.org
y autorizar la clave de firma de dicho servidor,
además del servidor ci.guix.gnu.org
predeterminado. La
configuración de sistema operativo resultante sería más o menos así:
(operating-system
;; …
(services
;; Se asume que se parte de '%desktop-services'. Debe sustituirse
;; por la lista de servicios que use en realidad.
(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 "./clave.pub"))
%default-authorized-guix-keys)))))))
Esto asume que el archivo clave.pub contiene la clave de firma de
guix.example.org
. Cuando haya realizado este cambio en el archivo de
configuración de su sistema operativo (digamos /etc/config.scm),
puede reconfigurar y reiniciar el servicio guix-daemon
o reiniciar la
máquina para que los cambios se hagan efectivos:
$ sudo guix system reconfigure /etc/config.scm $ sudo herd restart guix-daemon
Si por el contrario ejecuta Guix sobre una distribución distinta, deberá llevar a cabo los siguientes pasos para obtener sustituciones de servidores adicionales:
guix-daemon
;
cuando use systemd normalmente se trata de
/etc/systemd/system/guix-daemon.service. Añada la opción
--substitute-urls en la línea de ordenes de guix-daemon
y
la lista de URL que desee (véase guix-daemon
--substitute-urls
):
… --substitute-urls='https://guix.example.org https://ci.guix.gnu.org'
systemctl daemon-reload systemctl restart guix-daemon.service
guix archive --authorize < clave.pub
De nuevo se asume que clave.pub contiene la clave pública usada por
guix.example.org
para firmar las sustituciones.
¡Ya lo tiene configurado! Las sustituciones se obtendrán a ser posible de
https://guix.example.org
, usando ci.guix.gnu.org
en
caso de fallo. Por supuesto puede enumerar tantos servidores de
sustituciones como desee, teniendo en cuenta que el tiempo de búsqueda puede
aumentar si se necesita contactar a muchos servidores.
Tenga en cuenta que existen situaciones en las que se puede desear añadir la URL de un servidor de sustitucines sin autorizar su clave. Véase Verificación de sustituciones para entender este caso específico.
Siguiente: Verificación de sustituciones, Anterior: Autorización de servidores de sustituciones, Subir: Sustituciones [Índice general][Índice]