ClickCease Script de conversión de RHEL 7 a CentOS 7

Únase a nuestro popular boletín

Únase a más de 4.500 profesionales de Linux y el código abierto.

2 veces al mes. Sin spam.

Script de conversión de RHEL 7 a CentOS 7

por Rohan Timalsina

23 de mayo de 2023 - Equipo de expertos TuxCare

Hemos recibido solicitudes de asistencia para convertir sistemas que ejecutan RHEL 7 a CentOS 7. Hay varias razones por las que las organizaciones quieren hacer esta transición, que van desde el deseo de estandarizar sus flotas de servidores a los cambios de licencias, futuras rutas de migración, u otros factores. 

CentOS es una versión libre de RHEL impulsada por la comunidad, lo que la convierte en una excelente alternativa a RHEL con licencia para quienes no necesitan soporte oficial. Aunque el cambio de repositorios puede parecer una tarea sencilla, en realidad es un proceso algo intrincado. Por esta razón, hemos creado un script para realizar automáticamente la conversión.

Este artículo ofrece una visión en profundidad del script de conversión y del proceso de migración de RHEL 7 a CentOS 7. No obstante, hay que tener en cuenta que CentOS 7 llegará al final de su vida útil en junio de 2024, por lo que el soporte del proveedor finalizará en ese momento y las organizaciones tendrán que adquirir el soporte ampliado para seguir utilizando esta distribución de forma segura.

Pasemos ahora a los pasos de la migración...

 

¿Qué hace este script?

Antes de ejecutar este script, conviene entender lo que hace. Este script está escrito en Python y realiza las nueve operaciones siguientes:

 

1. Compruebe si la conversión ya se ha completado

 

Este script está diseñado para ser idempotente, lo que significa que puede ejecutarse múltiples veces sin ningún riesgo. El estado de cada paso se almacena en un archivo especial, por lo que el script nunca volverá a ejecutar un paso completado previamente. Si se han realizado todos los pasos, el script devolverá el mensaje "El sistema ya ha migrado a CentOS 7" y saldrá. 

2. Compruebe si el script se está ejecutando con privilegios de root

La mayoría de los comandos ejecutados por el script requieren privilegios de root, por lo que esto se comprueba al principio.

 

3. Compruebe si el sistema actual es RHEL 7

El script verifica que el sistema instalado es RHEL 7. Dado que cada sistema operativo tiene sus propias características específicas, intentar ejecutar el script en un sistema no compatible puede dar lugar a resultados inesperados.

4. Eliminar los paquetes específicos de RHEL

Este paso elimina paquetes específicos de RHEL, como logotipos y archivos de configuración que contienen información sobre la versión y los repositorios. Estos son los paquetes principalmente responsables de la "marca" de la distribución.

 

5. Instalar paquetes específicos de CentOS

Tras eliminar los paquetes específicos de RHEL, se sustituyen por los paquetes correspondientes de CentOS. En adelante, se utilizarán los repositorios de CentOS para instalar y actualizar paquetes.

 

6. Actualizar los paquetes de distribución

Se realiza una actualización periódica de todos los paquetes del sistema a las últimas versiones disponibles en los repositorios de CentOS.

 

7. Sincronizar los paquetes de distribución

El paso adicional de mantener los paquetes sincronizados con las últimas versiones disponibles en los repositorios de CentOS es necesario para los casos en los que un paquete en CentOS tiene una versión inferior a la equivalente en RHEL. Aunque este escenario es poco frecuente, aún así es necesario abordarlo ya que puede surgir.

 

8. Realice algunas operaciones específicas de EFI y Secure Boot

Este paso es muy crucial para convertir sistemas que funcionan en modo UEFI (no BIOS). Muchas soluciones y artículos no proporcionan información sobre los pasos necesarios para manejar este tipo de sistemas, pero no hacerlo puede resultar en un sistema operativo no arrancable después de la conversión. RHEL y CentOS utilizan diferentes rutas para los gestores de arranque Shim y Grub2 - /boot/efi/EFI/redhat y /boot/efi/EFI/centos respectivamente.

Esta discrepancia conduce a dos problemas. En primer lugar, después de la conversión, el gestor de arranque Grub2 intentará localizar su configuración en la nueva ruta, a pesar de que todavía está situado en el directorio /boot/efi/EFI/redhat. El segundo problema son las entradas de arranque en el firmware UEFI. Una entrada RHEL seguirá apuntando al gestor de arranque en /boot/efi/EFI/redhat, que ya no es accesible a través de esta ruta. 

La mayoría del firmware UEFI implementa un modo fallback, donde el gestor de arranque aún puede ser detectado y lanzado. Sin embargo, la implementación de este modo es opcional y no todo el hardware lo soporta. Como resultado, el sistema no podrá arrancar después de la migración. Ambos problemas se resuelven automáticamente en este paso.

Además, en este paso, el script se asegura de que los gestores de arranque Shim y Grub2 y el kernel están instalados desde el repositorio de CentOS. Si queda alguno de estos paquetes de RHEL, el sistema no podrá arrancar en modo Secure Boot. Dichos paquetes serán detectados y reinstalados desde los repositorios de CentOS.

 

9. Establecer el registro GRUB por defecto

Generalmente, los sistemas RHEL tienen instalados varios kernels más recientes. Por lo tanto, el script hace que el kernel de CentOS sea el kernel por defecto para el siguiente paso de arranque en el paso final. Este paso también es necesario para los sistemas que se ejecutan en modo Secure Boot.

 

RHEL 7 a CentOS 7: Proceso paso a paso

1. Crear una copia de seguridad del sistema 

Antes de iniciar el proceso de migración, le recomendamos que realice una copia de seguridad completa de su sistema RHEL 7. 

 

2. Descargar el guión

El script Python para migrar RHEL 7 a CentOS 7 está disponible en GitHub:

https://github.com/cloudlinux/rhel2centos

Puede ejecutar este comando para descargar el script en su ordenador.

$ curl -O https://raw.githubusercontent.com/cloudlinux/rhel2centos/main/migrate_7.py

 

3. Ejecutar el script

Una vez descargado el archivo, ejecute el script mediante el comando Python. 

$ sudo python migrate_7.py

Salida:

El sistema se migra a CentOS 7.

 

4. Verificar la migración

Para comprobar si la migración se ha realizado correctamente, ejecute el siguiente comando para comprobar el archivo de liberación.

$ cat /etc/redhat-release

Salida:

CentOS Linux versión 7.9.2009 (Core)

Compruebe si el sistema arranca el kernel CentOS por defecto.

$ sudo grubby -info DEFAULT | grep CentOS

Salida:

title=CentOS Linux (3.10.0-1160.31.1.el7.x86_64) 7 (Core)

Nota: Los números de versión pueden variar a medida que se publiquen nuevas actualizaciones.

 

RHEL 7 frente a CentOS 

RHEL 7 es una distribución comercial desarrollada por Red Hat, una destacada empresa de software empresarial, mientras que CentOS 7 es una distribución comunitaria creada a partir del código fuente de Red Hat Enterprise Linux (RHEL). 

Mientras que RHEL 7 está diseñado específicamente para satisfacer las necesidades de los entornos empresariales que requieren una seguridad, estabilidad y soporte sólidos, CentOS 7 es popular entre los usuarios particulares y las organizaciones más pequeñas que buscan una alternativa libre y de código abierto a RHEL.

Se considera que tanto RHEL 7 como CentOS 7 tienen buenos niveles de seguridad. Sin embargo, con el soporte de nivel empresarial y el acceso a herramientas de seguridad propietarias, RHEL 7 tiene una modesta ventaja sobre CentOS. Por ello, RHEL 7 destaca como una opción superior para las empresas que necesitan altos niveles de seguridad. 

Por otro lado, CentOS 7 es el camino a seguir si buscas un sustituto gratuito y de código abierto con una gran selección de paquetes. Independientemente de la versión que elijas, tanto RHEL 7 como CentOS 7 son sistemas operativos extremadamente seguros y fiables que pueden satisfacer las demandas de la mayoría de los usuarios.

También es importante tener en cuenta que el soporte de mantenimiento para RHEL 7 finalizará el 30 de junio de 2024 y CentOS 7 también llegará a su fin de vida en esa fecha. Dado que queda poco más de un año, se recomienda a los usuarios y administradores que empiecen a planificar su migración.

Si tiene dudas sobre la migración a distros alternativaspuede optar por el soporte ampliado de soporte EOL de TuxCare para CentOS 7que ofrece un ciclo de vida ampliado de cuatro años.

 

Lo esencial

En resumen, cambiar de RHEL 7 a CentOS 7 puede ser una tarea difícil. Sin embargo, se puede llevar a cabo fácilmente y sin tener ningún impacto negativo en el sistema, siempre y cuando se haga con una planificación y ejecución cuidadosas. 

Esperamos que esta guía le ayude a convertir su sistema RHEL 7 a CentOS 7.

Resumen
Script de conversión de RHEL 7 a CentOS 7
Nombre del artículo
Script de conversión de RHEL 7 a CentOS 7
Descripción
¿Quieres aprender a migrar fácilmente RHEL 7 a CentOS 7 utilizando el script de conversión. Lea esta entrada del blog
Autor
Nombre del editor
TuxCare
Logotipo de la editorial

¿Desea automatizar la aplicación de parches de vulnerabilidad sin reiniciar el núcleo, dejar el sistema fuera de servicio o programar ventanas de mantenimiento?

Conviértete en escritor invitado de TuxCare

Correo

¡Ayúdenos a comprender
el panorama de Linux!

Complete nuestra encuesta sobre el estado del código abierto y podrá ganar uno de varios premios, ¡el máximo valorado en 500 dólares!

Su experiencia es necesaria para dar forma al futuro de Enterprise Linux.