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


11.10.6 Actualizaciones no-atendidas

Guix proporciona un servicio para realizar actualizaciones desatendidas: periodicamente el sistema se reconfigura automáticamente con la última revisión de Guix. El sistema Guix tiene varias propiedades que hacen que las actualizaciones desatendidas sean seguras:

Para configurar las actualizaciones desatendidas, añada una instancia de unattended-upgrade-service-type como la que se muestra a continuación a la lista de servicios de su sistema operativo:

(service unattended-upgrade-service-type)

El valor predeterminado configura actualizaciones semanales: cada domingo a medianoche. No es necesario que proporcione el archivo de configuración de su sistema operativo: el servicio usa /run/current-system/configuration.scm, lo que asegura el uso de su última configuración—see provenance-service-type, para obtener más información sobre este archivo.

Hay varios aspectos que se pueden configurar, en particular la periodicidad y los servicios (daemon) que se reiniciarán tras completar la actualización. Cuando la actualización se lleva a cabo satisfactoriamente el servicio se encarga de borrar las generaciones del sistema cuya antigüedad es superior a determinado valor, usando guix system delete-generations. Véase la referencia a continuación para obtener más detalles.

Para asegurar que las actualizaciones se están levando a cabo realmente, puede ejecutar guix system describe. Para investigar fallos en las actualizaciones, visite el archivo de registro de las actualizaciones desatendidas (véase a continuación).

Variable: unattended-upgrade-service-type

Es el tipo de servicio para las actualizaciones desatendidas. Configura un trabajo de mcron (see Ejecución de tareas programadas) que ejecuta guix system reconfigure a partir de la última versión de los canales especificados.

Su valor debe ser un registro unattended-upgrade-configuration (véase a continuación).

Tipo de datos: unattended-upgrade-configuration

Este tipo de datos representa la configuración del servicio de actualizaciones desatendidas. Los siguientes campos están disponibles:

schedule (predeterminada: "30 01 * * 0")

La planificación de las actualizaciones, expresada en una expresión-G que contiene una planificación de trabajo de mcron (see mcron job specifications in GNU mcron).

channels (predeterminada: #~%default-channels)

Esta expresión-G especifica los canales usados para la actualización (see Canales). De manera predeterminada, se usa la última revisión del canal oficial guix.

operating-system-file (predeterminado: "/run/current-system/configuration.scm")

Este campo especifica el archivo de configuración del sistema operativo usado. El valor predeterminado reutiliza el archivo de configuración de la configuración actual.

No obstante hay casos en los que no es suficiente hacer referencia a /run/current-system/configuration.scm, por ejemplo porque dicho archivo hace referencia a archivos adicionales (claves públicas de SSH, archivos de configuración adicionales, etcétera) a través de local-file y construcciones similares. Para estos casos recomendamos una configuración parecida a esta:

(unattended-upgrade-configuration
  (operating-system-file
    (file-append (local-file "." "config-dir" #:recursive? #t)
                 "/config.scm")))

El efecto que esto tiene es la importación del directorio actual al completo en el almacén, y hace referencia a config.scm dentro de dicho directorio. Por lo tanto, los usos de local-file dentro de config.scm funcionarán como se espera. See Expresiones-G para más información acerca de local-file y file-append.

operating-system-expression (default: #f)

This field specifies an expression that evaluates to the operating system to use for the upgrade. If no value is provided the operating-system-file field value is used.

(unattended-upgrade-configuration
  (operating-system-expression
    #~(@ (guix system install) installation-os)))
reboot? (default: #f)

This field specifies whether the system should reboot after completing an unattended upgrade.

services-to-restart (predeterminados: '(mcron))

Este campo especifica los servicios de Shepherd que se reiniciarán cuando se complete una actualización.

Estos servicios se reinician tras completarse la actualización, como ejecutando herd restart, lo que asegura la ejecución de la última versión—recuerde que de manera predeterminada guix system reconfigure únicamente reinicia los servicios que no se están ejecutando en este momento, lo que es una aproximación conservadora: minimiza la disrupción pero mantiene servicios en ejecución con código previo a la actualización.

Use herd status to find out candidates for restarting. See Servicios, for general information about services. Common services to restart would include ntpd and ssh-daemon.

De manera predeterminada se reinicia el servicio mcron. Esto asegura que la última versión del trabajo de actualización desatendida será la que se use la próxima vez.

system-expiration (predeterminado: (* 3 30 24 3600))

Tiempo de expiración en segundos de las generaciones del sistema. Las generaciones del sistema cuya antigüedad sea mayor que esta cantidad de tiempo se borran con guix system delete-generations cuando se completa una actualización.

Nota: El servicio de actualizaciones desatendidas no ejecuta el proceso de recolección de basura. Probablemente quiera añadir su propio trabajo a mcron para ejecutar guix gc de manera periódica.

maximum-duration (predeterminado: 3600)

Duración máxima en segundos de la actualización; tras pasar este tiempo se aborta la actualización.

Esto es útil principalmente para asegurar que una actualización no reconstruye o vuelve a descargarse “el mundo entero”.

log-file (predeterminado: "/var/log/unattended-upgrade.log")

Archivo donde se registran las actualizaciones desatendidas.


Next: Sistema X Window, Previous: Servicios de red, Up: Servicios   [Contents][Index]