Inicio
» LINUX
»
Cómo configurar actualizaciones automatizadas de Debian sin interfaz gráfica con Unattended-Upgrades
Cómo configurar actualizaciones automatizadas de Debian sin interfaz gráfica con Unattended-Upgrades
Qué hace unattended-upgrades en un servidor Debian sin interfaz gráfica.
unattended-upgradeses el paquete de Debian para descargar e instalar automáticamente actualizaciones APT seleccionadas sin necesidad de iniciar sesión. En un servidor sin interfaz gráfica, esto resulta útil para el mantenimiento de seguridad cuando no hay una sesión de escritorio disponible y no se espera que nadie lo ejecute apt upgradediariamente.
A partir de octubre de 2026, Debian 13 "trixie" es la versión estable de Debian, y el unattended-upgradespaquete estable es la versión 2.12. Este paquete está destinado a las actualizaciones habituales de paquetes, especialmente las de seguridad y estabilidad. No sustituye el proceso planificado e independiente de actualización de una versión principal de Debian a otra.
El modelo práctico es simple: el mecanismo periódico de APT actualiza los índices de paquetes, apt-daily-upgrade.serviceinvoca el backend de actualización desatendida según lo programado, y su política decide qué orígenes de paquetes están permitidos. Debian registra el resultado en /var/log/unattended-upgrades/.
La instalación del paquete es segura y se puede repetir: APT simplemente indicará que ya está instalado si el sistema anfitrión ya lo tiene. Debian describe el paquete como un instalador automático para actualizaciones de seguridad y otras actualizaciones seleccionadas por la política.
Ejemplo de vista de terminal para la instalación de actualizaciones desatendidas. Los nombres de los repositorios y la cantidad de paquetes varían según la versión de Debian y el host.
En una flota, no asuma que todas las imágenes tienen el mismo estado predeterminado. Algunas instalaciones de Debian ya incluyen actualizaciones automáticas; otras no, y es posible que se haya deshabilitado una configuración existente. Después de la instalación, revise la configuración efectiva en lugar de asumir que la presencia del paquete implica que la política deseada está activa.
2. Habilitar actualizaciones periódicas de la lista de paquetes y ejecuciones desatendidas.
El archivo README de la versión principal de Debian indica que una configuración manual requiere estos dos valores periódicos de APT:
Configuración periódica de APT que solicita actualizaciones diarias de la lista de paquetes y ejecuciones de actualización desatendidas.
Esto no significa que el trabajo se iniciará exactamente a medianoche todos los días. En sistemas Debian basados en systemd, APT utiliza unidades de temporizador y una programación aleatoria. Para las operaciones, verifique el estado real del temporizador y el siguiente activador en el host, en lugar de basar la monitorización en una hora estimada.
3. Defina qué repositorios pueden actualizar los paquetes automáticamente.
La política clave reside en Unattended-Upgrade::Origins-Patternla Allowed-Originsforma anterior. La documentación de Debian 2.12 recomienda crear un fragmento APT local que ordene el 50unattended-upgradesarchivo empaquetado, por ejemplo:
Esto es preferible a editar permanentemente el archivo enviado, ya que las actualizaciones de paquetes pueden reemplazar o entrar en conflicto con la configuración administrada por el proveedor. Antes de escribir patrones, inspeccione los metadatos de la versión que APT realmente ve:
apt-cache policy
Para la mayoría de los servidores sin interfaz gráfica, una política conservadora consiste en limitar las actualizaciones automáticas a los canales estables y de seguridad habituales de Debian. Los patrones exactos pueden variar según la estructura del repositorio, los espejos, los proveedores externos y las reglas de fijación, por lo que conviene considerar esta política apt-cache policycomo la fuente de información principal en cada entorno.
Ejemplo de vista del editor de políticas. Haga coincidir los orígenes con los repositorios informados por la política apt-cache en su servidor en lugar de copiar etiquetas a ciegas.
Controles opcionales que conviene conocer
La configuración 2.12 admite listas negras y blancas de paquetes, reinicios automáticos, informes por correo electrónico, eliminación de dependencias no utilizadas, límites de ancho de banda, restricciones de día de actualización y salida de syslog. Algunas opciones son especialmente relevantes en servidores remotos:
Configure el correo solo si la máquina tiene un servicio de correo operativo. Si habilita el reinicio automático, el comportamiento predeterminado de Debian es importante: cuando Automatic-Rebootes verdadero y /var/run/reboot-requiredexiste, el host puede reiniciarse sin confirmación. Puede configurarlo Unattended-Upgrade::Automatic-Reboot-Timepara programar ese reinicio en una ventana de mantenimiento.
Para muchos sistemas de producción, es más seguro dejar el reinicio automático desactivado, a menos que el servicio sea redundante, se hayan definido ventanas de mantenimiento y las comprobaciones de estado posteriores al reinicio estén automatizadas.
4. Verifique los temporizadores de systemd y ejecute una prueba en seco.
En una instalación normal de Debian basada en systemd, compruebe los temporizadores de APT en lugar de buscar una unidad inventada unattended-upgrades.timer:
systemctl status apt-daily.timer apt-daily-upgrade.timer
systemctl list-timers apt-daily.timer apt-daily-upgrade.timer
apt-daily.timerestá asociado con la actividad rutinaria de descarga/indexación de paquetes, mientras que apt-daily-upgrade.timeractiva la ruta del servicio de actualización/limpieza utilizada por las actualizaciones desatendidas.
Estado del temporizador de Systemd para el trabajo diario de APT. Las fechas mostradas son orientativas; utilice systemctl list-timers para conocer la fecha real de la próxima ejecución en su sistema.
A continuación, pruebe la política sin modificar los paquetes:
sudo unattended-upgrade --debug --dry-run
Esta es la comprobación previa al vuelo más útil, ya que evalúa la configuración real de APT y registra detalles de depuración. Revise la salida para identificar paquetes que se seleccionarían o retendrían, orígenes de terceros inesperados, problemas de dependencias y solicitudes de archivos de configuración.
Si la prueba en seco no selecciona nada, es perfectamente normal cuando el servidor está actualizado. Confirme que realmente hay actualizaciones pendientes con apt list --upgradable, y luego compare sus orígenes y políticas con los patrones configurados.
5. Supervise las actualizaciones no supervisadas y gestione los reinicios de forma deliberada.
El paquete escribe su registro de actividad principal y la salida de dpkg en:
sudo tail -n 100 /var/log/unattended-upgrades/unattended-upgrades.log
sudo journalctl -u apt-daily-upgrade.service --since "7 days ago"
test -f /var/run/reboot-required && cat /var/run/reboot-required
Para un único equipo de laboratorio doméstico, revisar los registros periódicamente puede ser suficiente. En sistemas empresariales, envíe los fallos a la monitorización central o al syslog para que un error silencioso del repositorio, un sistema de archivos lleno, una dependencia rota o un estado de dpkg interrumpido no pasen desapercibidos.
Configuración de referencia para políticas de servidor comunes
Guión
Política
Nota operativa
Servidor centrado en la seguridad
Permitir actualizaciones de seguridad y estables de Debian; mantener el reinicio manual.
Buena opción predeterminada cuando una interrupción es más costosa que un reinicio diferido.
Nodo sin estado o redundante
Permitir actualizaciones y reinicio automático programado
Combinar con comprobaciones de estado y vaciado del balanceador de carga
Dispositivo sensible al kernel
Utilice una lista negra de paquetes solo con un proceso de excepción documentado.
Incluir programas en listas negras puede dejar vulnerabilidades conocidas sin parchear.
Servidor con repositorio de proveedores
No permita el origen del proveedor hasta que se revise su política de actualización.
Primero, revise la firma de cheques, la política de soporte y las expectativas de reversión.
Guía de referencia rápida para la resolución de problemas
El temporizador está activo pero no hay paquetes instalados.
Comprueba si hay actualizaciones pendientes, si el origen de su repositorio coincide con tu política permitida y si una lista negra o una restricción de dependencia impide su selección. Busca sudo unattended-upgrade --debug --dry-runevidencia en lugar de cambiar la política al azar.
El servidor espera la configuración del paquete.
unattended-upgradesEstá diseñado para evitar actualizaciones que requieran avisos de configuración de dpkg sin resolver. Si un paquete se retrasa repetidamente, revise el registro y decida si la decisión sobre el archivo de configuración debe gestionarse manualmente.
Las actualizaciones nunca se ejecutan después de clonar una imagen de máquina virtual.
Confirme que los temporizadores estén habilitados y activos, luego inspeccione apt-config dump. Las imágenes maestras a menudo contienen fragmentos APT locales, enmascaramiento o anulaciones de políticas que difieren de los valores predeterminados del paquete.
Debes detener las actualizaciones automáticas.
Utilice la ruta de reconfiguración compatible con Debian:
sudo dpkg-reconfigure -plow unattended-upgrades
Deshabilitar el paquete no reemplaza la gestión normal de parches; simplemente devuelve la responsabilidad a su proceso de orquestación manual o externo.
Lista de verificación de validación final
unattended-upgradesSe instala desde un repositorio Debian de confianza.
La actualización periódica de la lista de paquetes de APT y las actualizaciones desatendidas están habilitadas.
La política local se almacena en un archivo de anulación posterior, como por ejemplo 52unattended-upgrades-local.
Los orígenes permitidos se verificaron con respecto a apt-cache policy.