Next: Verificación de sustituciones, Previous: Autorización de servidores de sustituciones, Up: Sustituciones [Contents][Index]
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
(see modify-services
).
As an example, suppose you want to fetch substitutes from
guix.example.org
and to authorize the signing key of that server, in
addition to the default bordeaux.guix.gnu.org
and
ci.guix.gnu.org
. The resulting operating system
configuration will look something like:
(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 (see 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 < clave.pub
De nuevo se asume que clave.pub contiene la clave pública usada por
guix.example.org
para firmar las sustituciones.
Now you’re all set! Substitutes will be preferably taken from
https://guix.example.org
, using bordeaux.guix.gnu.org
then ci.guix.gnu.org
as fallback options. Of course you
can list as many substitute servers as you like, with the caveat that
substitute lookup can be slowed down if too many servers need to be
contacted.
Troubleshooting: To diagnose problems, you can run
guix weather
. For example, running:guix weather coreutilsnot only tells you which of the currently-configured servers has substitutes for the
coreutils
package, it also reports whether one of these servers is unauthorized. See Invocación deguix weather
, for more information.
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. See Verificación de sustituciones para entender este caso específico.
Next: Verificación de sustituciones, Previous: Autorización de servidores de sustituciones, Up: Sustituciones [Contents][Index]