Ubuntu Server / do-release-upgrade / Cómo actualizar la versión de Ubuntu
Para pasar Ubuntu Server a la siguiente versión del sistema operativo, utiliza sudo do-release-upgrade. Primero actualiza por completo los paquetes de la versión actual, confirma una ruta admitida y prepara una copia de seguridad que puedas restaurar.
Actualizaciones de paquetes y cambios de versión
do-release-upgrade adapta los paquetes básicos y la configuración del sistema a la siguiente versión de Ubuntu. Se diferencia de apt update, que renueva las listas de paquetes, y de apt upgrade, que actualiza paquetes dentro de la versión actual. Para el mantenimiento habitual, consulta la guía de apt en Ubuntu Server.
Las versiones LTS (Long Term Support, soporte a largo plazo) se actualizan de forma secuencial a la siguiente LTS. Por ejemplo, para pasar de 22.04 LTS a 26.04 LTS hay que pasar por 24.04 LTS y comprobar el funcionamiento en cada etapa. No sustituyas en bloque los nombres en clave de los repositorios para saltar versiones. Consulta las rutas y los periodos de soporte en el ciclo de versiones de Ubuntu.
Una LTS nueva no se ofrece inmediatamente a todos los servidores existentes. Las actualizaciones entre LTS suelen habilitarse tras la primera versión de mantenimiento; comprueba la disponibilidad real con la herramienta. Si la versión ya no tiene soporte, planifica una recuperación o migración específica sin asumir que este procedimiento se aplica sin cambios.
Preparar copias de seguridad y acceso de recuperación
Reserva una ventana de interrupción del servicio y usa una cuenta con permisos administrativos. Revisa las notas de la versión de destino y los requisitos de tus aplicaciones. Que arranque el servidor web no garantiza que PHP, la base de datos y las extensiones funcionen correctamente.
- Copias de seguridad: guarda los datos de los servicios, bases de datos, configuración de
/etc, certificados y secretos necesarios para recuperar el sistema en una ubicación separada y segura. Utiliza un método de copia coherente propio de la base de datos y comprueba su restauración. Una instantánea de una máquina virtual en ejecución, por sí sola, no garantiza la coherencia de la base de datos. - Acceso de recuperación: prepara y prueba una consola física, de administración remota o serie en la nube que funcione si se corta SSH (Secure Shell). Aunque actualices mediante SSH, no dependas de él como única vía de recuperación.
- Condiciones de la nube: revisa los requisitos del proveedor para la imagen, el kernel, el arranque y los agentes de administración. No todos los servidores en la nube prohíben actualizar el sistema existente. Si restaurarlo resulta difícil o necesitas validar la compatibilidad antes, compara también la opción de crear otro servidor y migrar los datos.
Estos comandos comprueban la versión actual, el espacio y los inodos disponibles, los estados incompletos de paquetes y los paquetes retenidos. No inician el cambio de versión.
cat /etc/os-release
uname -r
df -h / /boot
df -i / /boot
sudo dpkg --audit
apt-mark showhold
Anota VERSION_ID y resuelve primero la falta de espacio en / y /boot. El espacio necesario depende de la instalación y de los cambios previstos. Investiga los problemas que muestre dpkg --audit y entiende el motivo de las retenciones antes de cambiarlas. No elimines todas las retenciones solo para superar las comprobaciones.
Actualizar la versión actual y revisar la política
- Renueva las listas de paquetes de la versión actual y aplica todas las actualizaciones. Estos comandos preparatorios figuran en el procedimiento oficial de Ubuntu Server.
sudo apt update
sudo apt dist-upgrade -o APT::Get::Always-Include-Phased-Updates=true
dist-upgrade ajusta dependencias con los repositorios configurados y puede eliminar paquetes. Lee el plan y detente si se eliminarían paquetes importantes de forma inesperada. La opción incluye actualizaciones distribuidas por fases; el comando no cambia por sí mismo la versión de Ubuntu. Confirma que ambos comandos terminan correctamente y que no quedan actualizaciones pendientes.
- Comprueba si existe
/run/reboot-required. Su presencia indica que hace falta reiniciar para terminar las actualizaciones actuales.
if [ -f /run/reboot-required ]; then
cat /run/reboot-required
fi
Si es necesario, ejecuta sudo reboot durante el mantenimiento, vuelve a conectarte y comprueba los servicios antes de seguir. La ausencia del archivo no significa que las aplicaciones estén validadas.
- Si no está disponible
do-release-upgrade, instala el paquete que lo proporciona y revisa la política de notificación de versiones.
sudo apt install ubuntu-release-upgrader-core
cat /etc/update-manager/release-upgrades
Puedes omitir la instalación si el comando ya existe. Para mantener un servidor LTS en la ruta LTS, utiliza Prompt=lts en el archivo de configuración. Prompt=normal también considera versiones intermedias; no permite saltar versiones. Si necesitas cambiarlo, guarda una copia del archivo con otro nombre y edita solo la opción correspondiente con sudoedit /etc/update-manager/release-upgrades. La diferencia se explica en la guía de Ubuntu sobre versiones LTS e intermedias.
Comprobar el destino e iniciar la actualización
Primero comprueba si hay una nueva versión disponible para actualizar. La opción -c comprueba y termina sin iniciar la actualización; no prueba la compatibilidad de las aplicaciones.
sudo do-release-upgrade -c
Si no se ofrece un destino, revisa la versión actual, la ruta admitida, Prompt, las actualizaciones pendientes, la red y la disponibilidad. En el manual de do-release-upgrade, -d busca una versión de desarrollo y también puede usarse para evaluar una LTS nueva antes de su primera versión de mantenimiento. No lo añadas indiscriminadamente en producción para evitar un mensaje de que no hay nueva versión.
Cuando las copias y el acceso de recuperación estén preparados y el destino coincida con el plan, inicia con el siguiente comando. No añadas opciones de aprobación automática y permanece disponible para responder a las preguntas.
sudo do-release-upgrade
- Resumen de cambios: revisa el destino, los paquetes que se eliminarán o instalarán, el tamaño de descarga y el espacio necesario. Si se elimina un servicio esencial o el plan no es el esperado, detente antes de aprobarlo e investiga. Una vez iniciada la instalación de paquetes, no fuerces el cierre del proceso ni apagues el servidor.
- Archivos de configuración: compara la configuración existente con la del mantenedor del paquete. Sigue las indicaciones reales para ver diferencias, conservar o sustituir archivos. Conservarlos todos o sustituirlos todos puede descartar ajustes del servicio o cambios necesarios para la nueva versión.
- Repositorios externos y acceso: los PPA (Personal Package Archives) y repositorios de terceros se deshabilitan durante la actualización. Si la herramienta anuncia otro puerto SSH de recuperación, revisa el cortafuegos y las reglas de la nube según ese aviso y limita el acceso a los administradores. No desactives todo el cortafuegos ni dejes puertos innecesarios abiertos permanentemente.
Revisa también la lista antes de aceptar la eliminación de paquetes obsoletos. Si al terminar se solicita reiniciar, hazlo durante el mantenimiento y conserva la consola hasta completar las comprobaciones.
Comprobar la versión y los servicios tras reiniciar
Vuelve a conectarte y verifica la versión de destino y los servicios que hayan fallado. Compara el kernel con el registro anterior o la información de paquetes de destino y renueva las listas de paquetes.
cat /etc/os-release
uname -r
systemctl --failed
sudo apt update
apt list --upgradable
Confirma que VERSION_ID tiene el valor esperado e investiga cada fallo de systemctl --failed. Aunque no haya unidades fallidas, prueba respuestas web, lecturas y escrituras de la base de datos, tareas programadas, monitorización y copias según los requisitos reales. Prueba otra sesión SSH antes de cerrar la consola de recuperación.
Reconfigura solo los repositorios externos necesarios tras comprobar que admiten la nueva versión de Ubuntu y son compatibles con los paquetes instalados. No actives en bloque los repositorios con el nombre en clave anterior. Espera a que los servicios estén estables antes de hacer más limpieza y revisa las eliminaciones propuestas.
Gestionar errores y cortes de conexión
Conserva el último mensaje de error y los registros de /var/log/dist-upgrade/. Las indicaciones de Ubuntu para informar de fallos de actualización también señalan estos registros. Lista primero los archivos y lee los que existan para acotar la etapa que falló y las causas relacionadas con paquetes.
sudo ls -lah /var/log/dist-upgrade/
sudo less /var/log/dist-upgrade/main.log
Si se corta SSH, usa primero la consola de recuperación para comprobar el proceso de actualización existente y su avance. No inicies otra actualización ni borres los archivos de bloqueo de APT solo por la desconexión. Una interrupción durante el procesamiento de paquetes necesita una recuperación acorde con los registros y el estado actual.
No existe un único comando general para deshacer el cambio de versión y volver al Ubuntu anterior. Si hace falta restaurar, recupera las copias verificadas del servidor y de la base de datos correspondientes a un momento coherente, o vuelve al servidor anterior preparado. Ten en cuenta cómo conservar las escrituras posteriores a la copia. Restaurar solo el archivo de configuración Prompt no recupera un sistema operativo ya modificado.




