Volver
2025/04/09
8. Cambiando de CentOS a Oracle Linux
En diciembre de 2020, el blog oficial de CentOS anunció que el desarrollo de CentOS terminaría y que se transicionaría a CentOS Stream. El anuncio del fin de CentOS, que anteriormente tenía una presencia abrumadora como una distribución compatible con RHEL (clon de RHEL), fue una gran sorpresa.
Han pasado casi tres años desde el anuncio del fin de CentOS en 2020, y han aparecido varias alternativas a CentOS. En este artículo, explicaremos la situación actual de CentOS y post-CentOS, y cómo cambiar a Oracle Linux, que es un destino de migración prometedor.
Fin de CentOS y CentOS Stream
Para entender la situación actual de CentOS, explicaremos una visión general del fin de CentOS y el nuevo CentOS Stream.
Anuncio del Fin de Vida de CentOS
El anuncio del fin de CentOS fue publicado en el blog oficial de CentOS, “El Proyecto CentOS cambia su enfoque a CentOS Stream“.

El contenido de este blog se puede resumir como sigue:
- CentOS 8 finalizará su soporte el 31 de diciembre de 2021
- CentOS 7 será soportado hasta el 30 de junio de 2024 como de costumbre.
- CentOS transicionará a CentOS Stream en el futuro
- CentOS Stream es la rama upstream (desarrollo) de RHEL. Está posicionado de manera diferente a las reconstrucciones tradicionales.
- Se anima a los usuarios de CentOS 8 a migrar a CentOS Stream, que tiene menos diferencias, o a RHEL si están preocupados por usarlo en un entorno de producción.
Además, desde la perspectiva del usuario, esto se puede expresar como sigue:
- El soporte para CentOS terminará pronto, por lo que necesitas considerar migrar inmediatamente.
- En este momento (septiembre de 2023), el soporte para CentOS 8 ha terminado, y el soporte para CentOS 7 finalizará en junio de 2024. Después de que termine el soporte, los paquetes de actualización ya no serán proporcionados y el repositorio Yum ya no estará disponible.
- No se proporcionan paquetes de actualización, aumentando los riesgos de seguridad
- CentOS Stream no es una reconstrucción de RHEL como CentOS, sino que está posicionado como una versión de desarrollo. Por lo tanto, hay problemas con su uso en un entorno de producción, al menos.
Diferencias entre CentOS y CentOS Stream
CentOS era una distribución de Linux compatible con RHEL, también conocida como clon de RHEL. Por lo tanto, es compatible con RHEL y es casi idéntica a nivel de código fuente. Por cierto, introduje el siguiente diagrama en el artículo anterior, “¿Estás usando Oracle Linux? (Parte 1)“.
Por otro lado, CentOS Stream es una construcción nocturna de RHEL que se lanza en base a un lanzamiento continuo. Una construcción nocturna es una compilación generada usando el código fuente más reciente de un proyecto de desarrollo y es diferente de la versión de lanzamiento oficial.
Es un poco difícil de entender porque es diferente de lo que hemos tenido hasta ahora, pero el siguiente diagrama publicado por el Proyecto CentOS debería ayudar. Por ejemplo, RHEL 8 (≓ CentOS 8) fue creado al bifurcarse de Fedora 28. Luego se lanzaron 8.2 y 8.3 en ese orden, y se crearon erratas para cada uno. Dependiendo de la configuración del sistema operativo, también es posible actualizar de 8.3 a la última versión 8.8.
Fuente: CentOS Stream es Entrega Continua licenciado bajo CC BY-SA 4.0
CentOS Stream es un sistema de lanzamiento continuo, por lo que no hay versiones menores como 8.2 o 8.3. Solo tiene la fecha de lanzamiento. Si miras la imagen ISO publicada en el sitio espejo, tiene una fecha como 20230825
. Además, en el sitio espejo, 20230825
y latest
son lo mismo, y el contenido de latest
siempre se actualiza.
También, al mirar el nivel de paquete individual, no hay garantía de que CentOS Stream y RHEL sean idénticos. Dado que los cambios se realizan primero en CentOS Stream, al comparar las últimas versiones, CentOS Stream es más nuevo y puede considerarse una versión que aún no ha sido probada en producción.

Espero que entiendas que aunque CentOS y CentOS Stream son funcionalmente similares, sus posiciones son bastante diferentes. Es por eso que causó tanto revuelo en todo el mundo. Las diferencias entre CentOS y CentOS Stream se describen en detalle en el “Blog del Ingeniero Akahato de Red Hat: La Relación Entre Fedora/CentOS Stream/CentOS/RHEL”. Por favor, echa un vistazo si estás interesado.
Período de soporte para cada distribución de Linux
Este artículo presenta el período de soporte para las distribuciones de Linux basadas en RHEL. La única versión de CentOS que actualmente tiene soporte es CentOS 7, que será soportada hasta el 30 de junio de 2024. No hay CentOS 9. Por lo tanto, si actualmente estás usando CentOS, necesitarás migrar a una de las otras distribuciones de Linux.
Versión | Fin del soporte(*1) |
---|---|
CentOS 7 | 2024/06/30 |
CentOS 8 | 2021/12/31 |
CentOS Stream 8 | 2024/05/31 |
CentOS Stream 9 | Sin decidir (programado para ser el mismo que RHEL9) |
Red Hat Enterprise Linux 7 | 2024/06/30 |
Red Hat Enterprise Linux 8 | 2029/05/31 |
Red Hat Enterprise Linux 9 | 2032/05/31 |
Oracle Linux 7 | 2024/12 |
Oracle Linux 8 | 2029/07 |
Oracle Linux 9 | 2032/06 |
*1: El fin del soporte para Oracle Linux es el fin del Soporte Premier. El Soporte Extendido y el Soporte de Mantenimiento se proporcionarán por un período más largo.
Opciones de migración de CentOS
Consideremos las distribuciones de Linux que son candidatas para la migración desde CentOS. Considerando la facilidad de migración, la serie RHEL es la mejor, y las principales opciones son las siguientes:
- CentOS Stream
- Red Hat Enterprise Linux
- Oracle Linux
- AlmaLinux
- Rocky Linux
- MIRACLE LINUX
- Amazon Linux
AlmaLinux y Rocky Linux son distribuciones de Linux que nacieron del rechazo al fin de CentOS. Ambas están patrocinadas por grandes empresas y también se ofrecen en la nube pública.
Cuál elijas depende de factores como tu propósito y presupuesto, por lo que es difícil decir cuál es incondicionalmente mejor. La siguiente tabla los compara desde la perspectiva del uso empresarial. Para el uso empresarial, los factores importantes incluyen la duración del período de soporte, si hay soporte pagado disponible o no, si hay hardware soportado disponible o no, si los paquetes comerciales son soportados o no, y el costo.
Distribución | Licencia/Suscripción | Soporte pagado | Método de migración | Contras y puntos negativos |
---|---|---|---|---|
CentOS Stream | No requerida | ninguno | Reemplazar un repositorio | Parece ser muy estable, pero necesitas tener cuidado. No es compatible con el RHEL tradicional, por lo que no hay hardware soportado y los paquetes comerciales no son soportados. ¿Puedes convencer a tu jefe o clientes? |
Red Hat Enterprise Linux | necesaria | puede ser | Herramientas de migración disponibles | Líder de la industria, pero requiere suscripción y Acuerdo Empresarial de Red Hat |
Oracle Linux | No requerida, pero algunas características están disponibles solo para usuarios de soporte pagado | puede ser | Herramientas de migración disponibles | Tiene un largo historial y se usa para aplicaciones críticas como Exadata. No es muy conocido entre los usuarios de productos Oracle. |
AlmaLinux/Rocky Linux | No requerida | Soporte pagado disponible (incluyendo soporte de terceros) | Herramientas de migración disponibles | Es una distribución nueva, así que necesitas observarla. |
Amazon Linux | No requerida | puede ser | Sin herramientas proporcionadas por el proveedor | Puede usarse en las instalaciones y tiene alta compatibilidad con AWS. Dado que está basado en Fedora, la compatibilidad no es alta y el período de soporte es corto, de aproximadamente 5 años. |
MIRACLE LINUX | No requerida | puede ser | Herramientas de migración disponibles | Aunque tiene un largo historial, no es muy conocido entre los proveedores nacionales. |
Cambio de CentOS a Oracle Linux usando herramientas de migración
Oracle Linux proporciona un script centos2ol.sh
que cambia CentOS a Oracle Linux en el lugar. Esta vez, usaremos este script para cambiar CentOS 8 a Oracle Linux 8. El procedimiento para cambiar a CentOS 7 es casi el mismo.
Oracle ha lanzado varios documentos, por lo que en esta columna profundizaremos en algunos de ellos mientras destacamos los puntos principales.
- Cambiando de CentOS 8 a Oracle Linux 8
- Cambiando de CentOS Linux a Oracle Linux
- Github: Cambio de CentOS/Rocky Linux a Oracle Linux
Para ejecutar el script de migración:
Los pasos para ejecutar el script de migración son los siguientes. Los pasos preparatorios 1 a 3 requieren múltiples comandos. Sin embargo, los pasos de migración 4 y 5 se pueden realizar con un número mínimo de comandos.
- Verificar las restricciones
- Respaldo del sistema (omitido en el texto)
- Preparación del CentOS fuente
- Ejecución del script de migración
- Verificación posterior a la migración
Verificar las restricciones
Las limitaciones de la herramienta de migración son las siguientes. Por ahora, solo necesitas estar al tanto de estas limitaciones, y las verificaremos en la próxima sección, “Preparación del CentOS fuente.”
- El fuente es CentOS 6, 7, 8 o Rocky Linux 8, 9
- Acceso a los repositorios Yum de CentOS y Oracle Linux, ya sea directamente o a través de un proxy
- La instancia no está registrada con una herramienta de gestión de paquetes de terceros como Spacewalk.
- Si has instalado paquetes de fuentes distintas al repositorio oficial de CentOS, pueden ser compatibles, pero no garantizamos que funcionen. Algunos programas
/etc/oracle-release
pueden causar problemas si están instalados. - Si algunos módulos del núcleo están instalados, como productos antivirus comerciales o controladores de hardware, pueden no funcionar después del cambio.
- El script de migración solo habilita los repositorios base, como base, updates y BaseOS. Si has instalado paquetes de otros repositorios, puede que necesites habilitar repositorios adicionales.
- /var/cache tiene al menos 5GB de espacio libre
Preparación del CentOS fuente
Aquí nos aseguraremos de que no estemos violando ninguna restricción del script.
Ten en cuenta que los pasos preparatorios requieren privilegios de administrador, por lo que debes anteponer sudo al comando o usar su para ejecutarlo como usuario root. He omitido sudo para enfatizar la simplicidad de la apariencia. Además, CentOS 8 recomienda dnf en lugar de yum, pero me he quedado con yum porque es compatible.
1. Verificar la versión de CentOS
Inicia sesión en el fuente y verifica la versión de CentOS. Si es 8 como se muestra a continuación, no hay problema.
# cat /etc/centos-release
CentOS Linux release 8.3.2011
2. Verificar la conexión al repositorio Yum de CentOS
Verifica si puedes conectarte al repositorio Yum de CentOS. CentOS 8 ya no tiene un repositorio en el sitio espejo, por lo que si no puedes conectarte, obtendrás el siguiente error:
# yum check-update
CentOS Linux 8 - AppStream 51 B/s | 38 B 00:00
Error: Falló la descarga de los metadatos del repo 'appstream': No se puede preparar la lista de espejos interna: No hay URLs en la lista de espejos
Si ocurre un error, cambia el repositorio al que estás apuntando ejecutando el siguiente comando:
# sed -i -e 's/^mirrorlist/#mirrorlist/g' -e 's/^#baseurl=http:\/\/mirror/baseurl=http:\/\/vault/g' /etc/yum.repos.d/CentOS-*repo
Si el repositorio está disponible, se descargarán los metadatos del repositorio y se mostrarán los paquetes actualizables como se muestra a continuación.
# yum check-update
CentOS Linux 8 - AppStream 16 MB/s | 8.4 MB 00:00
CentOS Linux 8 - BaseOS 9.2 MB/s | 4.6 MB 00:00
CentOS Linux 8 - Extras 46 kB/s | 10 kB 00:00
NetworkManager.x86_64 1:1.32.10-4.el8 baseos
NetworkManager-libnm.x86_64 1:1.32.10-4.el8 baseos
3. Verificar que no haya paquetes problemáticos
Verifica los núcleos y paquetes instalados fuera de los repositorios base (anaconda, base, baseos, updates, AppStream, etc.). Los núcleos son particularmente problemáticos, así que elimina el núcleo centosplus si está presente.
Muestra el núcleo instalado. El nombre del repositorio desde el que fue instalado se muestra a la derecha. Este ejemplo está bien.
# yum list installed kernel
kernel.x86_64 4.18.0-240.el8 @anaconda
Para verificar no solo el núcleo sino también los paquetes instalados desde fuera del repositorio base, usa el siguiente comando. Si hay paquetes instalados desde repositorios de terceros como EPEL, se mostrarán los paquetes relevantes. Sin embargo, los paquetes del espacio de usuario rara vez son un problema.
# rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{VENDOR}\n' | grep -v "CentOS"
4. Verificar el repositorio base
Verifica que los repositorios base estén habilitados. Si están deshabilitados, habilítalos.
# yum repolist
repo id nombre del repo
appstream CentOS Linux 8 - AppStream
baseos CentOS Linux 8 - BaseOS
extras CentOS Linux 8 - Extras
Si algún repositorio está deshabilitado, habilítalo.
# dnf config-manager --enable BaseOS AppStream extras
Además, si se muestra el siguiente mensaje que comienza con “This system is” al principio, el sistema está registrado con Spacewalk, etc. El script de migración no se puede usar, así que elimínalo de la gestión o renuncia a usar el script.
# yum repolist
...
Este sistema está recibiendo actualizaciones del servidor Red Hat Satellite o Spacewalk
repo id nombre del repo
5. Actualizaciones de paquetes
Actualiza los paquetes a la última versión. Aunque no es obligatorio actualizar a la última versión, se actualizará cuando ejecutes el script de migración, por lo que al final será lo mismo.
# yum update -y
6. Verificar el espacio libre en disco
Verifica que /var/cache tenga al menos 5GB de espacio libre.
# df -h /var/cache
Sistema de archivos Tamaño Usado Disp Uso% Punto de montaje
/dev/mapper/cl_centos8-root 47G 1.7G 46G 4% /
7. Deshabilitar las actualizaciones automáticas de paquetes
Si las actualizaciones automáticas de paquetes están activadas mientras se ejecuta el script de migración, no funcionarán correctamente, por lo que deben deshabilitarse. CentOS tiene dos tipos de actualizaciones automáticas de paquetes:
- yum-cron (CentOS 7) o dnf-automatic (CentOS 8)
- Packagekit integrado en el entorno de escritorio
Si no tienes el escritorio instalado, verifica yum-cron o dnf-automatic. Si tienes el escritorio instalado, deberías verificar ambos.
7-1. Deshabilitar dnf-automatic
Verifica si dnf-automatic está instalado. Si no se muestra nada como a continuación, pasa a “7-2. Deshabilitar Packagekit”.
# rpm -qa | grep dnf-automatic
★Si no se muestra nada, no está instalado
Cuando está instalado, verifica la configuración del temporizador. En el siguiente ejemplo, las descargas automáticas (dnf-automatic-download.timer) están habilitadas.
# systemctl list-unit-files --type=timer | grep dnf-auto
dnf-automatic-download.timer habilitado
dnf-automatic-install.timer deshabilitado
dnf-automatic-notifyonly.timer deshabilitado
dnf-automatic.timer deshabilitado
Si alguno de ellos está habilitado, deshabilítalos todos.
# systemctl disable dnf-automatic-download.timer --now
7-2. Deshabilitar Packagekit
Si tienes un entorno GUI instalado, verifica Packagekit.
# systemctl status packagekit
Cuando dice “active (running)” como se muestra en la marca ★, está ejecutándose. Si el servicio Packagekit en sí no existe, dirá “Unit packagekit.service could not be found.” Esto no es relevante en este caso.
● packagekit.service - Daemon de PackageKit
Loaded: loaded (/usr/lib/systemd/system/packagekit.service; static; vendor preset: disabled)
Active: ★active (running)★ desde el mar 15 ago 2023 09:31:27 GMT; 59s ago
Main PID: 21960 (packagekitd)
Tasks: 3
CGroup: /system.slice/packagekit.service
└─21960 /usr/libexec/packagekitd
15 dic 09:31:26 centos7 systemd[1]: Iniciando Daemon de PackageKit...
15 dic 09:31:27 centos7 PackageKit[21960]: inicio del daemon
15 dic 09:31:27 centos7 systemd[1]: Daemon de PackageKit iniciado.
Cuando Packagekit está ejecutándose, detén el servicio y desactiva el inicio automático.
# systemctl disable packagekit --now
8. Descargar el script de migración
Descarga el script de migración. Si necesitas un proxy para acceder a Internet, especifica el servidor proxy en las opciones --proxy
o en las variables de entorno https_proxy
.
# curl -O https://raw.githubusercontent.com/oracle/centos2ol/main/centos2ol.sh
Verifica las opciones disponibles.
# bash centos2ol.sh -h
Uso: centos2ol.sh [OPCIONES]
OPCIONES
-h
Mostrar esta ayuda y salir
-k
No instalar el núcleo UEK y deshabilitar los repositorios UEK
-r
Reinstalar todos los RPM de CentOS con RPM de Oracle Linux
Nota: Esto no es necesario para el soporte
-V
Verificar la información de RPM antes y después del cambio
Ejecutando los Scripts de Migración
Ahora que todo está listo, ejecuta el script de migración para cambiar a Oracle Linux. El tiempo que toma ejecutar depende del número de paquetes instalados, la velocidad de la línea y el rendimiento de la máquina. En el entorno que probé, tomó entre 10 y 60 minutos.
# bash centos2ol.sh
Si el script se ejecuta con éxito, se muestra el siguiente mensaje:
Sincronización exitosa.
Actualizando el cargador de arranque GRUB2.
Generando archivo de configuración de grub ...
hecho
Cambiando el núcleo de arranque predeterminado al UEK.
Eliminando la caché de yum
Cambio completo.
Oracle recomienda reiniciar este sistema.
Sigue el mensaje para reiniciar el sistema.
# systemctl reboot
Verificación posterior a la migración
Después de reiniciar, verifica cómo está tu sistema.
- Se ha añadido /etc/oracle-release y se ha eliminado /etc/centos-release.
$ ls -l /etc/*-release
-rw-r--r--. 1 root root 32 7 ago 00:03 /etc/oracle-release
-rw-r--r--. 1 root root 489 7 ago 00:03 /etc/os-release
-rw-r--r--. 1 root root 45 7 ago 00:03 /etc/redhat-release
lrwxrwxrwx. 1 root root 14 7 ago 00:03 /etc/system-release -> oracle-release
- Antes de la migración, la versión era CentOS 8.3, pero ahora es la última Oracle Linux 8.8. Si migras usando el script de migración, se convertirá en la última versión.
$ cat /etc/oracle-release
Oracle Linux Server release 8.8
- El núcleo predeterminado es UEK, no RHCK. Si no quieres usar UEK, especifica
centos2ol.sh -k
al ejecutar el script como sigue:
$ uname -r
5.4.17-2136.322.6.2.el8uek.x86_64
- Verifica si quedan paquetes de CentOS. Se muestran los siguientes núcleos. Estos no están en uso, por lo que pueden eliminarse.
$ rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{VENDOR}\n' | grep CentOS | sort -n
kernel-4.18.0-240.el8 CentOS
kernel-core-4.18.0-240.el8 CentOS
kernel-modules-4.18.0-240.el8 CentOS
- Vamos un paso más allá y mostramos la lista de paquetes relacionados con el núcleo. Podemos ver que el núcleo anterior de CentOS y los últimos RHCK y UEK para Oracle Linux están instalados.
# rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{VENDOR}\n' | grep kernel- | sort -n
kernel-4.18.0-240.el8 CentOS
kernel-4.18.0-477.21.1.el8_8 Oracle America
kernel-core-4.18.0-240.el8 CentOS
kernel-core-4.18.0-477.21.1.el8_8 Oracle America
kernel-modules-4.18.0-240.el8 CentOS
kernel-modules-4.18.0-477.21.1.el8_8 Oracle America
kernel-tools-4.18.0-477.21.1.el8_8 Oracle America
kernel-tools-libs-4.18.0-477.21.1.el8_8 Oracle America
kernel-uek-5.4.17-2136.322.6.2.el8uek Oracle America
- Verifica los repositorios habilitados, verás que han sido reemplazados por los de Oracle Linux.
yum repolist
repo id nombre del repo
ol8_UEKR6 Última Versión del Núcleo Empresarial Irrompible 6 para Oracle Linux 8 (x86_64)
ol8_appstream Oracle Linux 8 Application Stream (x86_64)
ol8_baseos_latest Oracle Linux 8 BaseOS Último (x86_64)
Conclusión
Usando el script de migración, puedes ver que es muy fácil cambiar de CentOS a Oracle Linux. La parte más problemática es el trabajo de verificación preliminar. Además, aunque no se explicó en el texto principal, asegúrate de hacer un respaldo antes de ejecutarlo.
Resumen
- El soporte de CentOS está terminando pronto, por lo que necesitas migrar rápidamente.
- Oracle Linux es un objetivo de migración probable
- El script de migración centos2ol.sh facilita el cambio de CentOS a Oracle Linux.
- El tiempo de migración es de aproximadamente 10 a 60 minutos por servidor. Depende del número de paquetes instalados, el rendimiento del servidor y la velocidad de la línea.
- El script tiene algunas limitaciones, como poder conectarse a repositorios de internet.
La industria de clones de RHEL ha estado en turmoil desde finales de 2020, pero en 2023, hay otro alboroto. Red Hat había liberado previamente el código fuente de RHEL, pero ha anunciado que no se hará público en el futuro (ver el enlace a continuación). En respuesta, algunos proveedores han anunciado contramedidas. Oracle no solo ha estado desarrollando Oracle Linux durante muchos años, sino también Solaris, por lo que puedes sentirte seguro en esta área.