Este manual te guiará en la actualización de “Ubuntu 20.04 LTS (Focal Fossa)” a la última versión de soporte a largo plazo (LTS) del sistema operativo Ubuntu, Ubuntu 22.04 (Jammy Jellyfish). Esta se lanzó el pasado 21 de abril de 2022.
Antes de empezar con el tutorial, ¿no tienes un servidor Cloud con Ubuntu 20.04 o prefieres un servidor Cloud ya actualizado a Ubuntu 22.04? ¡No te preocupes! Con solo un clic, puedes desplegarlo fácilmente con SW Hosting.
cta:cloud_so_ubuntu_20
cta:cloud_so_ubuntu_22
Desde SW Hosting, con el fin de aportar siempre conocimiento y poder ayudar a nuestros clientes en las diferentes situaciones y escenarios que se puedan encontrar, hemos decidido documentar el proceso de actualización a dicha versión. Y de esta manera poder disfrutar de las últimas funcionalidades y actualizaciones de seguridad del software, para su sistema operativo.
En el siguiente enlace puedes encontrar más información relativa a los cambios que te ofrece esta nueva versión: https://discourse.ubuntu.com/t/jammy-jellyfish-release-notes/24668
danger ¡Advertencia! Al igual que con casi cualquier actualización entre versiones "major" de un sistema operativo, este proceso conlleva un riesgo inherente de falla, pérdida de datos o configuración de software dañada. Se recomiendan encarecidamente copias de seguridad completas y pruebas exhaustivas antes de empezar.
El proceso de actualización lleva su tiempo debido a la velocidad de Internet y otros factores. No canceles la operación una vez iniciada, ya que dejará tu máquina Ubuntu en un estado inconsistente. SW Hosting no es responsable de los procedimientos de actualización fallidos ni la pérdida de datos.
Desde SW Hosting recomendamos encarecidamente que tengas una copia de seguridad de todos tus datos antes de actualizar de Ubuntu 20.04 a Ubuntu 22.04. Asegúrate de tener todas las copias de seguridad al día, para así poder garantizar la integridad de todos tus datos antes de continuar. https://www.swhosting.com/es/comunidad/manual/activar-copias-de-seguridad-backups-en-mi-cloud
Además, también tienes la posibilidad de activar el servicio de instantáneas / Snapshots de tu servicio cloud mediante tu SWPanel, te recomendamos realizar una instantánea / Snapshot de tu cloud previa al proceso de actualización, y así poder revertir los cambios en cualquier momento si fuera necesario:
https://www.swhosting.com/es/comunidad/manual/como-crear-y-gestionar-snapshots-de-tu-servidor-cloud
Asegúrate de tener suficiente espacio libre en el disco antes de empezar este proceso.
Desde SW Hosting, recomendamos tener al menos 10 GB de espacio libre en disco antes de actualizar. Utiliza el comando df para verificarlo:
df -h
Todos los repositorios de terceros se comentan (deshabilitan) durante el proceso de actualización de tu sistema operativo. Si estás utilizando algún repositorio extra en tu servidor, deberás habilitarlo después de que se complete el procedimiento de actualización. Puedes encontrar repositorios o "mirrors" de terceros en el directorio:
/etc/apt/sources.list.d/
Comprueba primero el archivo /etc/update-manager/release-upgrades (necesario para los métodos GUI y CLI)
Verifica el comportamiento predeterminado para el actualizador de versiones, usando el comando cat / more o less: less /etc/update-manager/release-upgrades
Y asegúrate que la siguiente línea esté establecida en lts: Prompt=lts
Primero es importante revisar que versión de Kernel tienes actualmente, por si durante la actualización, este se actualiza también, y por si fuera necesario reiniciar tu servidor.
Anota el nombre actual de la distribución de Linux y la versión del kernel antes de empezar. Usa el comando "uname" y el comando "lsb_release" de la siguiente manera:
uname -mrs lsb_release -a
Abre la aplicación del terminal. Para el servidor remoto, inicia sesión con el comando ssh. Primero, busca todos los paquetes que están en modo "hold" (retenidos), escribe el comando apt-mark:
sudo apt-mark showhold
Si ves una salida vacía y no hay paquetes retenidos, puedes continuar con seguridad. Por lo contrario, debes eliminar la retención de paquetes con el comando "apt-mark". Por ejemplo, libera los paquetes de la siguiente manera (reemplaza paquete1 paquete2 con los nombres reales):
sudo apt-mark unhold paquete1 paquete2
Luego, actualiza el sistema actual usando el comando apt:
sudo apt update && sudo apt upgrade
Se te mostrará una lista de actualizaciones y te pedirá que continúes. Presiona "y" para confirmar y Enter.
Este proceso puede llevar algún tiempo. Una vez finalizado, usa el comando dist-upgrade con apt-get que realizará cualquier actualización adicional que implique cambiar dependencias, agregar o eliminar nuevos paquetes según sea necesario.
Este comando instalará un conjunto de actualizaciones que pueden haber sido retenidas por el paso anterior de actualización de apt:
sudo apt dist-upgrade
Nuevamente, responde "y" cuando se te solicite continuar y espera a que finalicen las actualizaciones.
Si se instala un nuevo kernel de Linux, revisa y compáralo con el comando proporcionado en el paso anterior:
uname -mrs
Si tu versión de Kernel ha cambiado, reinicia tu sistema antes de continuar:
sudo reboot
Ahora que tienes una instalación actualizada de Ubuntu 20.04, puedes usar "do-release-upgrade" para actualizar a la versión 22.04.
Es posible que debas activar la Gestión de FW capa 4 mediante tu SWPanel y habilitar el siguiente perfil de acceso de forma temporal, para abrir los puertos necesarios utilizados durante el proceso de actualización de tu sistema:
https://www.swhosting.com/es/comunidad/manual/firewall-perimetral-de-capa-4-gestionable
SWPanel -> Dasboard de su servicio cloud -> Seguridad (Dashboard lateral izquierdo) -> FW Capa 4 -> Gestión de Firewall de Capa 4 --> Perfil seguridad --> Todo abierto
En caso de tener el software UFW de Ubuntu instalado, deberás realizar el mismo procedimiento y abrir, además, el puerto 1022 TCP que es el usado por el software para actualizar:
https://www.swhosting.com/es/comunidad/manual/que-es-el-firewall-ufw-y-como-configurarlo-en-linux
En la línea de comando, escribe el comando "do-release-upgrade" de la siguiente manera para iniciar el procedimiento de actualización:
sudo do-release-upgrade
El usuario de ssh verá el mensaje inmediatamente:
Reading 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] y
Escribe "y", seguidamente obtendrás otro mensaje:
Starting 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]
Como ya abrimos el puerto 1022, presiona la tecla [Enter] para continuar. Luego, debes confirmar las entradas de actualización "Ubuntu Focal" a "Ubuntu Jammy": Nuevamente, obtendrás un aviso final con los detalles de la siguiente manera:
Do you want to start the upgrade?
Checking package manager
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating the changes
Calculating the changes
MarkInstall libflashrom1:amd64 < none -> 1.2-5build1 @un uN Ib > FU=1
Installing libftdi1-2 as Depends of libflashrom1
MarkInstall libftdi1-2:amd64 < none -> 1.5-5build3 @un uN > FU=0
Do you want to start the upgrade?
4 packages are going to be removed. 90 new packages are going to be
installed. 565 packages are going to be upgraded.
You have to download a total of 553 M. This download will take about
1 minute with your connection.
Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.
Continue [yN] Details [d]
Finalmente, presiona "y" de nuevo para aceptar y continuar.
Asegúrate también de confirmar, para reiniciar los servicios cuando se te solicite.
Mantén la configuración de tus ficheros modificados en Ubuntu Linux 20.04 LTS, al actualizar a 22.04 LTS: Otros ejemplos:
Configuration file '/etc/sysctl.conf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** sysctl.conf (Y/I/N/O/D/Z) [default=N] ?
Presiona ENTER para marcar la opción por defecto (no modificar)
Tratar con paquetes obsoletos en Ubuntu:
Posiblemente, te solicite que elimines el paquete obsoleto de la siguiente manera:
Searching for obsolete software
Reading state information... Done
Remove obsolete packages?
81 packages are going to be removed.
Continue [yN] Details [d]
Presiona la "d" para ver detalles sobre dichos paquetes y luego confírmalo presionando la "y", o deniégalo presionando la "N".
La actualización del sistema está completa
Después de un tiempo, obtendrás una confirmación en la pantalla.
System upgrade is complete.
Restart required
To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.
Continue [yN]
Se requiere reiniciar para finalizar la actualización de 20.04 LTS a 22.04.
Asegúrate de elegir "y", y luego Ubuntu se reiniciará.
Posteriormente, al iniciar de nuevo, no olvides eliminar las reglas de su FW capa 4 mediante tu SWPanel, y/o en UFW que utilizaste para abrir el puerto tcp/1022.
Una vez se reinicia el sistema, puedes iniciar sesión utilizando la GUI o la sesión basada en ssh. Luego, puedes ver la versión del kernel de Linux, ejecuta: uname -mrs
Salida: Linux 5.15.0-58-generic x86_64
Por supuesto, usa el comando lsb_release también: lsb_release -a
Salida: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04 Codename: jammy
Ahora que se completó la actualización de Ubuntu 20.04 LTS a 22.04 LTS, si disponías de repositorios adicionales de terceros, deberás verificar que están de nuevo habilitados, o bien habilitarlos. Por lo contrario, no recibirás actualizaciones de dichos repositorios.
Puedes verificar los repositorios adicionales activos de la siguiente manera:
cd /etc/apt/sources.list.d ls -l cat repo-adicional.list
Para habilitarlo nuevamente, deberás editar el fichero con un editor de texto (nano / vi) y des-comentar la línea eliminando el #:
Luego ejecuta el comando apt para actualizar dichos paquetes:
sudo apt update sudo apt upgrade
Finalmente, limpia los paquetes sobrantes no deseados y sin usar:
sudo apt autoremove --purge
Recuerda que si no dispones aun de un servidor Cloud con Ubuntu 20.04 o Ubuntu 22.04 puedes desplegarlo fácilmente con SW Hosting.
cta:cloud_so_ubuntu_20
cta:cloud_so_ubuntu_22