Activar y configurar las actualizaciones automáticas en Ubuntu

Activar y configurar las actualizaciones automáticas en Ubuntu

Mucha gente piensa en instalar Ubuntu pero se olvida de las actualizaciones periódicas. Y, sin embargo, estas actualizaciones son esenciales para corregir errores, mejorar el rendimiento y, sobre todo, evitar fallos de seguridad. En este tutorial, aprenderás a configurar Ubuntu para que se encargue de sus propias actualizaciones, sin ninguna intervención por tu parte.

Ubuntu: todo lo que necesita saber sobre las actualizaciones del sistema

Antes de automatizar las actualizaciones en Ubuntu, es esencial entender las diferentes categorías disponibles. Ubuntu organiza sus actualizaciones en distintos canales, cada uno con un propósito específico. Esta distinción le da un mayor control sobre lo que debe y no debe actualizarse automáticamente.

  • Actualizaciones de seguridad (-security): aplica rápidamente parches contra vulnerabilidades. Imprescindible y activado por defecto.
  • Actualizaciones estándar (-updates): reparan errores y mejoran la estabilidad sin cambiar las funciones principales. Actualizaciones recomendadas.
  • Actualizaciones retroportadas (-backports): ofrecen versiones más recientes de cierto software, adaptadas a su versión de Ubuntu. Son opcionales.
  • Actualizaciones en pruebas (-propuestas): paquetes aún en proceso de validación que pueden contener errores. Reservado para probadores; evitar en producción.
  • Snap, Flatpak y PPA: gestionan sus actualizaciones fuera de APT. Los paquetes Snap/Flatpak se actualizan automáticamente; PPA requiere seguimiento manual.

También puede averiguar cómo actualizar completamente Ubuntu Desktop o Server.

Instalar actualizaciones desatendidas para activar las actualizaciones automáticas

Ubuntu incluye de forma nativa un sistema capaz de gestionar automáticamente las actualizaciones, especialmente las de seguridad. Esta herramienta se llama actualizaciones desatendidas. Suele estar preinstalada en las versiones recientes de Ubuntu, pero lo mejor es comprobar su presencia manualmente.

Instalar el paquete unattended-upgrades

Abra un terminal y ejecute el siguiente comando:

sudo apt update && sudo apt install unattended-upgrades

Este comando comprueba primero que la lista de paquetes está actualizada, y luego instala unattended-upgrades si no está ya presente en su sistema. Si el paquete ya está instalado, no se requiere ninguna acción adicional en esta etapa.

Activar la actualización automática

Una vez instalado el paquete, puede activar la actualización automática mediante la utilidad de configuración suministrada:

sudo dpkg-reconfigure --priority=low unattended-upgrades

Aparecerá una pantalla en el terminal preguntándole si desea activar las actualizaciones automáticas de seguridad. Elija «Sí» y confirme.

⚠️ Nota : si ve un error que dice ValueError: could not convert string to float: '6.06 LTS', se trata de un error conocido relacionado con la herramienta lsb_release en algunas versiones de Ubuntu. En este caso, consulte la sección «Solución de problemas» más adelante en esta guía para aplicar una corrección manual.

Configuración básica de las actualizaciones automáticas en Ubuntu

La configuración de las actualizaciones automáticas en Ubuntu depende principalmente de dos archivos :

  • /etc/apt/apt.conf.d/20auto-upgrades: define el comportamiento periódico de APT.
  • /etc/apt/apt.conf.d/50unattended-upgrades: especifica las fuentes de actualizaciones autorizadas, exclusiones y opciones avanzadas.

El objetivo es automatizar las actualizaciones sin comprometer el control, garantizando al mismo tiempo la seguridad, estabilidad y limpieza del sistema.

Actualizaciones automáticas

Comience configurando el siguiente archivo :

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

Este fichero determina las operaciones realizadas diariamente por el servicio apt.

Configuración mínima recomendada :

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::AutocleanInterval "7";
  • Update-Package-Lists: actualiza los índices de paquetes cada día.
  • Download-Upgradeable-Packages: descarga automáticamente las actualizaciones disponibles.
  • Unattended-Upgrade: instala automáticamente las actualizaciones autorizadas.
  • AutocleanInterval: elimina los paquetes obsoletos una vez a la semana.

💡 Tenga en cuenta: Las directivas APT::Periodic::* aceptan valores enteros expresados en número de días.

  • 0: desactiva completamente la acción.
  • 1: realiza la acción todos los días.
  • 7: realiza la acción una vez a la semana.
  • 30: una vez al mes.

Esto permite ajustar con precisión la frecuencia de cada tarea (actualización, limpieza, descarga, etc.) en función de las necesidades (puesto de trabajo personal, servidor crítico, etc.).

Definir los depósitos autorizados para las actualizaciones

A continuación, edite el archivo :

nano /etc/apt/apt.conf.d/50unattended-upgrades

Localice el bloque Allowed-Origins, que especifica las fuentes consideradas seguras para las actualizaciones automáticas:

Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-backports";
};
  • -segurity: activa las actualizaciones de seguridad críticas (esencial).
  • -updates: activa las actualizaciones generales (corrección de errores, mejoras de estabilidad).
  • -backports: opcional, se utiliza para integrar versiones más recientes de determinados paquetes.

Por defecto, sólo está activado el repositorio -security. Para un uso más completo y menos restrictivo, se recomienda descomentar la línea -updates.

Excluir determinados paquetes (opcional) de las actualizaciones automáticas

En el mismo archivo, puede bloquear las actualizaciones automáticas de determinados paquetes sensibles:

Unattended-Upgrade::Package-Blacklist {
"docker-ce";
"nvidia-driver-*";
};

Así se evitan, por ejemplo, las actualizaciones automáticas de controladores propietarios, contenedores o herramientas críticas que requieren validación manual.

Lista de paquetes instalados que coinciden con una palabra clave

Para identificar exactamente qué paquetes instalados excluir (por ejemplo, todos los controladores NVIDIA), utilice el siguiente comando en un terminal:

dpkg -l | grep nvidia

Este comando muestra todos los paquetes instalados cuyo nombre contiene la palabra clave «nvidia», junto con su versión y estado, posible ejemplo de salida :

ii  nvidia-driver-525     525.125.06-0ubuntu0   amd64   NVIDIA driver metapackage
ii libnvidia-gl-525 525.125.06-0ubuntu0 amd64 NVIDIA OpenGL/GLX libraries
ii nvidia-kernel-common 525.125.06-0ubuntu0 amd64 NVIDIA kernel module support files

Para excluir todos estos paquetes de las actualizaciones automáticas, recomendamos utilizar una máscara genérica en el bloque Unattended-Upgrade::Package-Blacklist, como se indica a continuación:

Unattended-Upgrade::Package-Blacklist {
"nvidia-*";
};

Esta expresión cubre todos los paquetes cuyo nombre empieza por «nvidia-» sin necesidad de listarlos individualmente.

Añadir otras funciones

También en 50unattended-upgrades puedes ajustar el comportamiento del sistema:

Reinicio automático a una hora determinada

Algunas actualizaciones (kernel, glibc, etc.) requieren un reinicio para surtir efecto. Puedes autorizar este reinicio automático fijándolo a una hora determinada:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";

Notificación por correo electrónico: reciba un informe de actualización

Para recibir un informe de actualización por correo electrónico (útil para los servidores), active :

Unattended-Upgrade::Mail "votremail@example.com";
Unattended-Upgrade::MailOnlyOnError "true";

⚠️ El paquete mailx debe estar instalado y correctamente configurado para el envío de correos electrónicos.

Limpieza de dependencias no utilizadas

Unattended-Upgrade::Remove-Unused-Dependencies "true";

Esta opción automatiza la eliminación de dependencias que han quedado obsoletas, del mismo modo que un apt autoremove.

Solución de problemas: ValueError: no se pudo convertir cadena a flotante: error ‘6.06 LTS

Si ve este mensaje de error al ejecutar sudo dpkg-reconfigure --priority=low unattended-upgrades
significa que el script de sistema lsb_release.py está intentando convertir una versión de Ubuntu antigua y mal formateada (por ejemplo, 6.06 LTS) en un número. Este error, conocido desde Ubuntu 22.04, hace que el comando falle.

Solución: modificar el script Python en cuestión

  1. Abra el archivo raíz en un archivo :
sudo nano /usr/lib/python3/dist-packages/lsb_release.py

(En algunas configuraciones, el archivo puede estar ubicado en /usr/share/pyshared/lsb_release.py)

  1. Busque esta línea :
RELEASES_ORDER.sort(key=lambda n: float(n[0]))
  1. Sustitúyalo por :
RELEASES_ORDER.sort(key=lambda n: float(n[0].split()[0]))

Esta modificación obliga al script a tener en cuenta sólo la parte numérica anterior a «LTS » y evita así el error de conversión.

¿Le ha sido útil este artículo?

Sea la primera persona en dar su opinión

Sobre el autor

Adrien Piron

Soy Adrien, apasionado por la tecnologa y especializado en asistencia técnica para particulares. Mi objetivo es hacer que la tecnologa sea accesible para todos.

× zoom plus modale
Scroll al inicio