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/.

Lista de verificación de configuración rápida

MetaAcción recomendada
Instala el actualizadorsudo apt update && sudo apt install unattended-upgrades
Habilitar el trabajo periódico diarioEstablecer APT::Periodic::Update-Package-Lists "1";yAPT::Periodic::Unattended-Upgrade "1";
Mantener la política local sostenibleColoque las anulaciones en un archivo posterior como por ejemplo:52unattended-upgrades-local
Pruébalo antes de confiar en él.sudo unattended-upgrade --debug --dry-run
Confirmar la programaciónInspeccionar apt-daily.timeryapt-daily-upgrade.timer
Ver resultadosRevise /var/log/unattended-upgrades/y sus alertas de monitoreo

1. Instalar actualizaciones desatendidas

Ejecute la instalación desde una consola de administrador:

sudo apt update
sudo apt install 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.

Terminal de Debian mostrando apt update seguido de la instalación del paquete unattended-upgrades.
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:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

El valor "1"indica que la actividad puede ejecutarse diariamente. Un fragmento local práctico es:

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

Luego, agregue las dos líneas anteriores. Puede inspeccionar la configuración APT combinada con:

apt-config dump | grep -E 'APT::Periodic::(Update-Package-Lists|Unattended-Upgrade)'
Editor Nano que muestra la configuración periódica de APT para las actualizaciones diarias de la lista de paquetes y las actualizaciones desatendidas.
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:

sudo nano /etc/apt/apt.conf.d/52unattended-upgrades-local

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.

El editor Nano muestra una política de origen de actualizaciones desatendidas y el reinicio automático está deshabilitado.
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:

Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::MailReport "only-on-error";
Unattended-Upgrade::SyslogEnable "true";

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.

El estado del terminal Systemd para apt-daily.timer y apt-daily-upgrade.timer muestra tanto activos como en espera.
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:

/var/log/unattended-upgrades/unattended-upgrades.log
/var/log/unattended-upgrades/unattended-upgrades-dpkg.log

Entre las comprobaciones útiles se incluyen:

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ónPolíticaNota operativa
Servidor centrado en la seguridadPermitir 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 redundantePermitir actualizaciones y reinicio automático programadoCombinar con comprobaciones de estado y vaciado del balanceador de carga
Dispositivo sensible al kernelUtilice 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 proveedoresNo 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.
  • apt-daily.timery apt-daily-upgrade.timerestán activos.
  • sudo unattended-upgrade --debug --dry-runSe completa sin selecciones inesperadas ni errores.
  • Se realiza un seguimiento de los registros y la política de reinicio se ajusta a su modelo de mantenimiento.
  • Las actualizaciones de versiones principales de Debian siguen siendo un procedimiento planificado aparte.

Referencias oficiales

Utilice la documentación oficial de Debian para validar el comportamiento en una versión específica:

Dejar un comentario

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

Configure las actualizaciones automáticas en un servidor Debian sin interfaz gráfica, verifique los temporizadores de systemd, realice pruebas de forma segura, controle los reinicios y supervise las actualizaciones de seguridad automáticas.

Solucionar el problema de conexión de la consola web Cockpit en SUSE Linux Enterprise Server.

Solucionar el problema de conexión de la consola web Cockpit en SUSE Linux Enterprise Server.

Solucione los problemas de Cockpit en SUSE Linux Enterprise Server comprobando la URL HTTPS, el socket systemd, los paquetes instalados, la zona firewalld, los certificados y los registros.

Cómo migrar SLES 15 SP5 a SP6 sin tiempo de inactividad del sistema.

Cómo migrar SLES 15 SP5 a SP6 sin tiempo de inactividad del sistema.

Aprenda cómo mantener los servicios disponibles durante una migración de SLES 15 SP5 a SP6 con una actualización progresiva de SLE HA probada, comprobaciones nodo por nodo y una clara advertencia sobre el tiempo de inactividad de un solo servidor.

Cómo configurar Pi-hole DNS-over-HTTPS en Ubuntu Server 24.04

Cómo configurar Pi-hole DNS-over-HTTPS en Ubuntu Server 24.04

Configure Pi-hole en Ubuntu Server 24.04 para usar DNS-over-HTTPS con dnscrypt-proxy, luego verifique el servidor local y evite conflictos DNS comunes.

Cómo solucionar el problema de que la interfaz gráfica de YaST no se inicie a través del reenvío SSH X11

Cómo solucionar el problema de que la interfaz gráfica de YaST no se inicie a través del reenvío SSH X11

Solucione los fallos de la interfaz gráfica de usuario de YaST mediante el reenvío SSH X11. Pruebe DISPLAY, corrija el error Qt XIO documentado, compruebe la configuración SSH y cambie a ncurses cuando sea necesario.

Cómo configurar un servidor SUSE RMT local (sustituto de SMT)

Cómo configurar un servidor SUSE RMT local (sustituto de SMT)

Configura SUSE RMT en SLES 15, sincroniza los metadatos de SCC, replica los repositorios seleccionados, registra los clientes a través de HTTPS y comprende las limitaciones de la migración desde SMT.

Solucionar el problema de los controladores de la tarjeta de sonido no detectados en Pardus Linux 23

Solucionar el problema de los controladores de la tarjeta de sonido no detectados en Pardus Linux 23

Solucione el problema de la tarjeta de sonido que falta en Pardus Linux 23. Compruebe la detección de ALSA, los módulos del kernel, los servicios de audio, los perfiles de salida, el firmware y las actualizaciones de forma segura.

Solucionar el problema de resolución de pantalla atascada en 1024x768 en una máquina virtual Pardus KVM

Solucionar el problema de resolución de pantalla atascada en 1024x768 en una máquina virtual Pardus KVM

Solucione el problema de una máquina virtual Pardus KVM atascada en 1024x768 comprobando la GPU virtual, el agente SPICE, la sesión X11 o Wayland y verificando que los modos de visualización superiores sean correctos.

Cómo montar automáticamente un directorio SSHFS remoto al arrancar en Debian

Cómo montar automáticamente un directorio SSHFS remoto al arrancar en Debian

En Debian, se monta automáticamente un directorio SSHFS remoto al arrancar el sistema utilizando SSH basado en claves, /etc/fstab, opciones de red de systemd, automontaje y pasos de verificación.

Solucionar el error "No se puede asignar memoria" durante una actualización del sistema SLES

Solucionar el error "No se puede asignar memoria" durante una actualización del sistema SLES

Solucione el problema "No se puede asignar memoria" durante una actualización de SLES. Compruebe la RAM, el espacio de intercambio, los registros de OOM y los límites de procesos, y luego recupere el sistema sin interrumpir las transacciones de paquetes.