Cómo actualizar a Ubuntu 20.04 Focal Fossa

Introducción

La última versión de Soporte a largo plazo (LTS) del sistema operativo Ubuntu, Ubuntu 20.04 (Focal Fossa), fue lanzada el 23 de abril del 2020. Esta guía explicará cómo actualizar un sistema Ubuntu con versión 18.04 o posterior a Ubuntu 20.04.

Advertencia: Al igual que con cualquier actualización entre versiones importantes de un sistema operativo, este proceso conlleva un riesgo inherente de fallo, pérdida de datos, o error de configuración del software. Se recomienda encarecidamente realizar copias de seguridad integrales y pruebas amplias

Para evitar estos problemas, recomendamos migrar a un nuevo servidor de Ubuntu 20.04 en vez de realizar la actualización de un servidor existente. Es posible que deba revisar las diferencias en la configuración del software al realizar la actualización, pero el sistema principal probablemente tendrá mayor estabilidad. Puede seguir nuestra serie sobre cómo migrar a un nuevo servidor Linux para obtener información sobre cómo migrar entre servidores.

Requisitos previos

Esta guía asume que tiene un sistema Ubuntu 18.04 o posterior configurado con un usuario no root habilitado para sudo.

Posibles errores

Aunque muchos sistemas pueden actualizarse sin incidentes, a menudo es más seguro y más predecible migrar a una nueva versión importante instalando la distribución desde cero, configurando los servicios con pruebas cuidadosas en todo momento, y migrando la aplicación o los datos del usuario como paso independiente.

Nunca debería actualizar un sistema de producción sin probar primero todo su software y servicios implementados contra la actualización en un entorno escalonado. Tenga en cuenta que las bibliotecas, idiomas y servicios del sistema pueden haber cambiado sustancialmente. Antes de actualizar, considere leer las Notas de la versión de Focal Fossa.

Paso 1: Realizar la copia de seguridad de su sistema

Antes de intentar una actualización importante sobre cualquier sistema, debería asegurar que no perderá datos si la actualización va mal. La mejor forma de conseguir esto es realizar una copia de seguridad de todo el sistema de archivos. Si esto no fuese posible, asegúrese de tener copias de los directorios de inicio del usuario, de cualquier archivo de configuración personalizado, y de los datos almacenados por los servicios como las bases de datos relacionales.

En un droplet de DigitalOcean, un enfoque es apagar el sistema y tomar una captura (apagarlo garantiza que el sistema de archivos será más consistente). Consulte Cómo crear capturas de droplets para obtener más información sobre el proceso de captura. Tras haber verificado que la actualización de Ubuntu se realizó correctamente, puede eliminar la captura de forma que no se le cobrará por su almacenamiento.

Para los métodos de copia de seguridad que funcionarán en la mayoría de sistemas Ubuntu, consulte Cómo elegir una estrategia de copia de seguridad efectiva para su VPS.

Paso 2: Actualizar los paquetes instalados actualmente

Antes de comenzar con la actualización de la versión, es más seguro actualizar a las versiones más recientes de todos los paquetes para la versión actual. Comience actualizando la lista de paquetes:

  • sudo apt update

A continuación, actualice los paquetes instalados a sus versiones más recientes disponibles:

  • sudo apt upgrade

Se le mostrará una lista de actualizaciones, y se le pedirá que continúe. Responda y para sí y pulse Enter.

Este proceso puede tardar algo de tiempo. Una vez que termine, utilice el comando dist-upgrade con apt-get que realizará cualquier actualización adicional que implique cambiar las dependencias, añadir o eliminar nuevos paquetes, según sea necesario. Esto administrará un conjunto de actualizaciones que pueden haber quedado retenidas por el paso apt upgrade anterior:

  • sudo apt dist-upgrade

De nuevo, responda y cuando se le pida continuar, y espere a que las actualizaciones terminen.

Ahora que tiene una instalación actualizada en Ubuntu, puede usar do-release-upgrade para actualizar a la versión 20.04.

Paso 3: Actualización con la herramienta do-release-upgrade de Ubuntu

Tradicionalmente, las versiones de Ubuntu han sido actualizables cambiando /etc/apt/sources.list de Apt, que especifica los repositorios del paquete, y usando apt-get dist-upgrade para realizar la actualización. Aunque es probable que este proceso funcione, Ubuntu ofrece una herramienta llamada do-release-upgrade para hacer que la actualización sea más segura y fácil.

do-release-upgrade gestiona la comprobación de nuevas versiones, actualizando sources.list y una variedad de otras tareas, y es la ruta de actualización recomendada oficialmente para las actualizaciones del servidor que deben realizarse sobre una conexión remota.

Comience ejecutando do-release-upgrade sin opciones:

  • sudo do-release-upgrade

Si la nueva versión de Ubuntu no ha sido lanzada oficialmente aún, es posible que reciba el siguiente resultado:

OutputChecking for a new Ubuntu release No new release found 

Tenga en cuenta que en el Servidor de Ubuntu, la nueva versión LTS no está disponible para do-release-upgrade hasta su primera versión de punto, en este caso, 20.04.1. Esto normalmente llega unos meses tras la fecha de lanzamiento inicial.

Si no ve una versión disponible, añada la opción -d para actualizar a la versión de desarrollo:

  • sudo do-release-upgrade -d

Si está conectado con nuestro sistema sobre SSH, se le pedirá si desea continuar. Para los equipos virtuales o servidores gestionados debería tener en cuenta que perder la conectividad SSH es un riesgo, sobre todo si no tiene otro medio de conectar remotamente a la consola del sistema (como una función de consola basada en web, por ejemplo).

Para otros sistemas bajo su control, recuerde que es más seguro realizar actualizaciones importantes del sistema operativo solo cuando tenga acceso directo físico al equipo.

Cuando se le solicite, escriba y y pulse Enter para continuar:

OutputReading cache  Checking package manager  Continue running under SSH?  This session appears to be running under ssh. It is not recommended to perform a upgrade over ssh currently because in case of failure it is harder to recover.  If you continue, an additional ssh daemon will be started at port '1022'. Do you want to continue?  Continue [yN] 

A continuación, se le informará que do-release-upgrade está iniciando una nueva instancia de sshd en el puerto 1022:

OutputStarting additional sshd  To make recovery in case of failure easier, an additional sshd will be started on port '1022'. If anything goes wrong with the running ssh you can still connect to the additional one. If you run a firewall, you may need to temporarily open this port. As this is potentially dangerous it's not done automatically. You can open the port with e.g.: 'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'  To continue please press [ENTER] 

Pulse Enter. A continuación, es posible que se le advierta de que no se encontró una entrada de espejo. En los sistemas de DigitalOcean, es seguro ignorar esta advertencia y continuar con la actualización, ya que el espejo local para 20.04 está de hecho disponible. Escriba y:

OutputUpdating repository information  No valid mirror found  While scanning your repository information no mirror entry for the upgrade was found. This can happen if you run an internal mirror or if the mirror information is out of date.  Do you want to rewrite your 'sources.list' file anyway? If you choose 'Yes' here it will update all 'bionic' to 'focal' entries. If you select 'No' the upgrade will cancel.  Continue [yN] 

Una vez que las nuevas listas de paquetes se hayan descargado y se hayan calculado los cambios, se le preguntará si desea iniciar la actualización. De nuevo, introduzca y para continuar:

OutputDo you want to start the upgrade?   18 installed packages are no longer supported by Canonical. You can still get support from the community.  3 packages are going to be removed. 142 new packages are going to be installed. 452 packages are going to be upgraded.  You have to download a total of 338 M. This download will take about 42 minutes with a 1Mbit DSL connection and about 13 hours with a 56k modem.  Fetching and installing the upgrade can take several hours. Once the download has finished, the process cannot be canceled.   Continue [yN]  Details [d] 

Se recuperarán los nuevos paquetes, se descomprimirán y se instalarán. Incluso si su sistema está sobre una conexión rápida, esto llevará algún tiempo.

Durante la instalación, es posible que se le presenten diálogos interactivos para varias preguntas. Por ejemplo, es posible que se le pregunte si desea reiniciar automáticamente los servicios cuando sea necesario:

Cuadro de diálogo de reinicio del servicio

En este caso, es seguro responder Yes (Sí). En otros casos, es posible que se le pregunte si desea sustituir un archivo de configuración que ha modificado. Esto a menudo requiere su juicio técnico, y es probable que requiera conocimiento sobre un software específico que está fuera del alcance de este tutorial.

Una vez que los paquetes hayan terminado de instalarse, se le preguntará si está listo para eliminar los paquetes obsoletos. En un sistema de stock sin configuración personalizada, sería seguro introducir y. En un sistema que ha modificado intensamente, es posible que desee introducir d e inspeccionar la lista de paquetes que se eliminarán, en caso de que incluya cualquier cosa que necesitará reinstalar más tarde.

OutputRemove obsolete packages?   53 packages are going to be removed.   Continue [yN]  Details [d] 

Finalmente, asumiendo que todo ha ido bien, se le informará de que la actualización se ha completado y se requiere reiniciar. Introduzca y para continuar:

OutputSystem upgrade is complete.  Restart required  To finish the upgrade, a restart is required. If you select 'y' the system will be restarted.  Continue [yN] 

En una sesión SSH, probablemente vea algo similar a esto:

OutputConnection to 203.0.113.241 closed by remote host. Connection to 203.0.113.241 closed. 

Es posible que necesite pulsar una tecla aquí para salir de la línea de comandos local, ya que su sesión SSH habrá terminado en el servidor.

Espere un momento a que se reinicie el servidor y vuelva a conectar. Al iniciar sesión, verá un mensaje confirmando que ahora está en Focal Fossa:

OutputWelcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64) 

Conclusión

Ahora debería tener una instalación Ubuntu 20.04 funcional. Desde aquí, probablemente deba investigar los cambios de configuración necesarios a los servicios y aplicaciones implementadas.

Puede encontrar más tutoriales sobre 20.04 y preguntas en nuestra página de Tutoriales sobre Ubuntu 20.04.