Next: , Previous: , Up: Sustituciones   [Contents][Index]


6.3.3 Obtención de sustiticiones desde otros servidores

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 ci.guix.gnu.org and bordeaux.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:

  1. Edite el archivo de configuración para el servicio de 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://ci.guix.gnu.org https://bordeaux.guix.gnu.org'
    
  2. Reinicie el daemon. Con systemd estos son los pasos:
    systemctl daemon-reload
    systemctl restart guix-daemon.service
    
  3. Autorice la clave del nuevo servidor (see Invocación de 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 ci.guix.gnu.org then bordeaux.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.

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]