Cómo pasar de Rocky Linux a Oracle Linux de forma fácil

En la entrada de hoy vamos a ver cómo pasar un servidor con Rocky Linux 9 a Oracle Linux 9 de forma fácil. Para ello vamos a utilizar el script facilitado por la propia Oracle, llamado «centos2ol.sh«

Este script nos permite pasar versiones de CentOS Linux 6, 7 y 8 o Rocky Linux 8 y 9 a Oracle Linux, en la respectiva versión.

Logo oficial de Oracle Linux

La idea de esta entrada es que os quiero enseñar cómo instalar el motor de base de datos de Oracle Linux, en su versión gratuita, y cómo añadir monitores para esta base de datos en Zabbix. Pero vayamos por partes.

Como siempre estoy utilizando los VPS ofrecidos por mi proveedor Clouding.io, ubicado en la ciudad donde resido, Barcelona.

Cómo pasar de Rocky Linux a Oracle Linux de forma fácil

Crear el VPS con Rocky Linux 9

Mi proveedor Clouding.io no ofrece por defecto Oracle Linux, por lo que he creado un VPS de Rocky Linux 9, que tal como os he explicado, tengo intención de pasar a Oracle Linux 9

Muestra de sistema operativos GNU/Linux disponibles en Clouding.io

Para ello primero de todo he creado el VPS, tal y como se ve en la imagen:

El VPS ya creado

A la máquina le he asignado un núcleo de CPU, 2 GB de RAM y 20 GB de disco duro, más que suficiente para lo que necesito.

Una vez creado accedemos a él vía SSH.

Comprobar la versión del sistema operativo

Lo primero que hacemos es comprobar la versión del sistema operativo:

cat /etc/os-release

También lo podemos comprobar con:

cat /etc/redhat-release

Con el resultado:

Comprobamos la versión

Revisar las versiones no estándar del kernel

Comprobamos las versiones instaladas del kernel:

yum list installed kernel

De esta manera vemos una lista con todos los núcleos instalados. Debemos eliminar todos los kernel no estándar; por ejemplo, cualquier kernel instalado y no proporcionado por la base o el repositorio de actualizaciones.

También podemos obtener la lista de versiones de los núcleos, utilizando la herramienta «grubby«, como sigue:

grubby --info=ALL | grep ^kernel

Eliminar las versiones no estándar del kernel

Debido a la vulnerabilidad GRUB2 BootHole, la corrección de arranque seguro de Oracle Linux solo puede iniciar núcleos o kernels firmados por Oracle y solo podemos reemplazar los kernel de CentOS o RockyLinux predeterminados. Si bien es posible que esto no afecte a un sistema si SecureBoot está actualmente deshabilitado, habilitarlo más adelante podría hacer que el sistema no pueda iniciarse. Por eso motivo, se recomienda eliminar todos los núcleos no estándar.

Además, esto es cosecha mía, también he eliminado las versiones viejas del kernel.

Lo podemos hacer de dos formas, mediante «yum«, «dnf» o mediante «grubby«. Yo me he decantado por esta última posibilidad.

Primero listamos el índice de los núcleos en el arranque:

grubby --info=ALL | grep -E "^kernel|^index"

Con el resultado:

Listamos las versiones del kernel instaladas

Eliminamos los antiguos:

grubby --remove-kernel="valor"

Revisar la lista de repositorios

Vamos a ver los repositorios habilitados en el sistema:

dnf repolist

Con el resultado:

Listamos los repositorios instalados y habilitados

Eliminamos o deshabilitamos los que no sean de Rocky Linux

Deshabilitamos todos los repositorios que no sean de Rocky Linux. Este paso nos ayuda a evitar conflictos de paquetes con repositorio de terceros durante el cambio. Podemos volver a habilitar los repositorios más tarde:

dnf config-manager --set-disabled "nombre repositorio"

Descargamos y ejecutamos el script centos2ol

Ahora vamos a la parte final, que es descargar el script y ejecutarlo.

Primero lo descargamos:

curl -O https://raw.githubusercontent.com/oracle/centos2ol/main/centos2ol.sh

Si tenemos «git», también lo podemos descargar así:

git clone https://github.com/oracle/centos2ol.git

Y ahora sí, ejecutamos el script:

bash centos2ol.sh

Si queremos ver sus opciones, le podemos añadir el parámetro «-h«

Como parte del proceso, el kernel predeterminado se cambia a la última versión de Unbreakable Enterprise Kernel (UEK) de Oracle para permitir amplias mejoras de rendimiento y escalabilidad en el programador de procesos, la administración de memoria, los sistemas de archivos y la pila de redes. También reemplazamos el kernel Rocky Linux existente con el kernel compatible con Red Hat (RHCK) equivalente.

Cuando ha finalizado, reiniciamos:

reboot

Comprobamos que se ha cambiado la versión

Una vez la máquina se ha reiniciado volver a acceder por SSH y comprobamos si efectivamente ya podemos disfrutar de Oracle Linux 9

cat /etc/os-reelase

Con el resultado:

Comprobamos que efectivamente ya tenemos OL 9

A partir de aquí ya podemos empezar a jugar. Tal y como os he dicho al principio de la entrada, en la próxima veremos como instalar el motor de base de datos de Oracle, utilizando la versión gratuita.

Fuentes consultadas

Docs.oracle.com – Switch from CentOS 8 to Oracle Linux 8

Github.com – oracle – centos2ol.sh