Next: Sistema X Window, Previous: Servicios de red, Up: Servicios [Contents][Index]
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:
guix system list-generations
—y puede volver a una generación
previa, en caso de que alguna generación no funcione como desee;
guix system reconfigure
evita la instalación de versiones previas,
que lo hace inmune a ataques de versión anterior.
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:
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).
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).
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]