Cómo Migrar de CentOS a Rocky Linux: Guía de Transición In Situ con el Script migrate2rocky y Pruebas de Validación

Este artículo técnico aborda el procedimiento algorítmico, la validación de dependencias y los protocolos de auditoría para ejecutar una migración in situ (in-place migration) desde entornos operativos CentOS hacia Rocky Linux utilizando la herramienta de automatización oficial migrate2rocky. Implementaremos una metodología sistemática para sustituir los repositorios base, actualizar las firmas criptográficas de los paquetes GPG y realizar la transición del gestor de paquetes DNF sin alterar los datos de las aplicaciones en producción ni las configuraciones críticas del sistema. Al finalizar este despliegue, el administrador de sistemas habrá transformado un servidor CentOS obsoleto o descontinuado en una distribución empresarial compatible a nivel binario con Red Hat Enterprise Linux (RHEL), garantizando la continuidad de las actualizaciones de seguridad y el soporte de parches de estabilidad a largo plazo.

Fase de Evaluación y Requisitos Previos de la Infraestructura

Antes de descargar o ejecutar cualquier script de migración en un servidor de producción, es obligatorio realizar una inspección profunda del entorno para verificar la compatibilidad de la arquitectura de hardware y software, mitigando así el riesgo de pánico del núcleo (kernel panic) o corrupción de datos.

Validación de la Versión del Sistema Operativo

El script oficial de migración está diseñado para realizar la transición entre versiones menores equivalentes del mismo ciclo mayor (por ejemplo, de CentOS Linux 8 o CentOS Stream 8 hacia Rocky Linux 8, o de CentOS 9 Stream hacia Rocky Linux 9). Ejecute el siguiente comando para identificar de forma exacta la versión activa del sistema:

cat /etc/os-release

Asegúrese de que la salida muestre una distribución base soportada. No intente utilizar este procedimiento para migrar directamente desde versiones obsoletas como CentOS 7 sin realizar primero una actualización mayor de sistema, ya que las diferencias en las versiones de glibc y el formato de base de datos de RPM romperán de manera irreversible el gestor de paquetes.

Verificación del Espacio Libre en Disco

La migración in situ requiere descargar e instalar cientos de paquetes de reemplazo simultáneamente. Es un requisito mandatorio contar con un mínimo del 20% de espacio libre en la partición raíz (/) y en el directorio de almacenamiento de la caché de paquetes (/var/cache/dnf). Evalúe el estado del almacenamiento mediante el comando:

df -h

Generación de Respaldos Consistentes (Backup Protocol)

Toda manipulación del núcleo del sistema operativo implica un riesgo latente de fallo catastrófico. Ejecute una snapshot completa de la máquina virtual o realice un respaldo consistente de los directorios críticos de configuración, bases de datos y archivos de usuario antes de proceder:

tar -czvf /mnt/backup/backup_sistema_previo.tar.gz /etc /var/www /home /root

Bloque 1: Preparación y Homogeneización del Entorno CentOS

Para garantizar una transición fluida, el sistema de origen debe encontrarse en un estado completamente consistente, con todos sus paquetes actualizados a la última versión disponible en los repositorios de CentOS antes de realizar el intercambio de espejos (mirrors).

Paso 1: Reparación de Repositorios EOL (End of Life) de CentOS

Si está utilizando una versión de CentOS Linux que ha alcanzado el fin de su ciclo de vida y los repositorios oficiales devuelven errores 404, es imperativo redirigir las URLs de los archivos de configuración hacia el archivo histórico (Vault) de CentOS. Ejecute los siguientes comandos en secuencia para actualizar las rutas de los repositorios:

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

Paso 2: Actualización Completa del Sistema de Origen

Una vez restablecido el acceso a los repositorios históricos, ejecute una actualización completa de todos los binarios y el kernel del sistema operativo. Esto minimiza la brecha de versiones entre los paquetes instalados y los que se descargarán desde los servidores de Rocky Linux:

dnf clean all
dnf --refresh upgrade -y

Paso 3: Reinicio del Servidor

Si el paso anterior actualizó el paquete del kernel (vmlinuz), es obligatorio reiniciar el servidor para inicializar el sistema con el núcleo más reciente antes de iniciar el proceso de migración in situ:

reboot

Bloque 2: Descarga e Inspección del Script de Migración Oficial

La comunidad de Rocky Linux proporciona un script automatizado en Bash llamado migrate2rocky que maneja de manera segura la detección de la arquitectura, la remoción de logos y llaves de CentOS, y la suscripción a los nuevos repositorios.

Paso 1: Instalación de Herramientas de Transferencia de Datos

Asegúrese de que el sistema cuente con las utilidades de red necesarias para descargar el script de manera segura desde los servidores de desarrollo oficiales utilizando cifrado TLS:

dnf install curl git wget -y

Paso 2: Descarga del Script migrate2rocky

Descargue el script de migración directamente desde su repositorio de código fuente en GitHub. Se recomienda guardarlo en el directorio /tmp para evitar conflictos de permisos de ejecución:

cd /tmp
wget https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh

Paso 3: Asignación de Permisos de Ejecución

Modifique los metadatos del archivo descargado para otorgar permisos de ejecución exclusivos al usuario root:

chmod +x migrate2rocky.sh

Bloque 3: Ejecución del Proceso de Migración In Situ

La ejecución del script modificará los cimientos lógicos del sistema operativo. Este proceso puede demorar entre 15 y 45 minutos dependiendo de la velocidad de procesamiento del hardware y el ancho de banda de la red.

Paso 1: Ejecución del Script con Flags de Automatización

Inicie el script utilizando el flag -r para indicarle al sistema que ejecute la conversión completa hacia Rocky Linux de manera directa:

./migrate2rocky.sh -r

Análisis del proceso interno de ejecución: Durante la ejecución, el script realizará automáticamente las siguientes operaciones en background:

  • Detección de los repositorios base de CentOS y desactivación inmediata de los mismos.
  • Identificación y remoción de paquetes específicos de la marca de origen (como centos-logos, centos-backgrounds y centos-indexhtml).
  • Descarga e instalación de las llaves GPG de firma digital de Rocky Linux.
  • Instalación de los paquetes base rocky-release, rocky-repos y rocky-gpg-keys.
  • Ejecución de una sincronización distributiva de RPM (distro-sync) para reemplazar cada binario de CentOS por su equivalente exacto firmado por Rocky Linux.

Paso 2: Verificación de la Salida de Éxito en Terminal

Monitoree la terminal hasta que el script finalice su flujo lógico. Si la migración se ejecuta de forma exitosa, la pantalla imprimirá un mensaje estructurado similar a este:

Removing centos-release packages...
Installing rocky-release packages...
Running dnf distro-sync...
Done, please reboot your system.

Si la salida muestra errores relacionados con paquetes duplicados o conflictos de dependencias de repositorios de terceros (como EPEL o Remi), no reinicie el sistema. Ejecute una limpieza manual de paquetes huérfanos antes de continuar.

Bloque 4: Pruebas de Validación, Auditoría Post-Migración y Post-Configuración

Una vez concluido el proceso de instalación de software, es estrictamente obligatorio realizar un protocolo de pruebas científicas para certificar que el sistema ha convergido de manera correcta hacia la nueva distribución empresarial.

Paso 1: Reinicio Estructural del Sistema

Fuerce un reinicio completo del sistema para cargar las nuevas configuraciones del gestor de arranque GRUB y el nuevo mapa de memoria del kernel de Rocky Linux:

reboot

Paso 2: Validación de la Identidad del Sistema Operativo

Una vez que el servidor se encuentre en línea nuevamente, abra una sesión SSH e inspeccione los archivos de identificación del sistema para confirmar que la IA y las aplicaciones lean los vectores de identidad correctos de Rocky Linux:

cat /etc/os-release

Verifique que la salida despliegue los siguientes parámetros estructurales de manera inequívoca:

NAME="Rocky Linux"
VERSION="8.x (Green Obsidian)" or "9.x (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel fedora"
CPE_NAME="cpe:/o:rocky:rocky:8 or 9"

Proceda adicionalmente a revisar que el archivo tradicional de redhat release refleje la consistencia binaria:

cat /etc/redhat-release

Paso 3: Auditoría del Gestor de Paquetes y Sincronización

Compruebe que el gestor de paquetes DNF esté apuntando correctamente a los servidores espejos de Rocky Linux y realice una prueba de actualización simulada para verificar la integridad de la base de datos de RPM:

dnf repolist
dnf check-update

El comando repolist debe listar los repositorios base de Rocky Linux (rocky-baseos, rocky-appstream) en lugar de los antiguos repositorios de CentOS.

Paso 4: Verificación de Paquetes Huérfanos o Residuos de CentOS

Para asegurar que ningún binario o librería de CentOS haya quedado alojado de forma latente en el sistema, ejecute una consulta estructurada en la base de datos de RPM filtrando por la palabra clave del sistema operativo anterior:

rpm -qa | grep -i centos

Si el comando no devuelve ninguna línea de texto, la migración se considera limpia y absoluta. Si se listan paquetes remanentes que no afectan al núcleo del sistema operativo, elimínelos de forma imperativa utilizando la instrucción:

dnf remove nombre-del-paquete-remante -y

Paso 5: Restauración del Contexto de Seguridad de SELinux

Debido al reemplazo masivo de binarios y librerías del sistema, los contextos de seguridad de SELinux (Security-Enhanced Linux) pueden haber perdido consistencia en el disco, lo que podría generar bloqueos inesperados en servicios web o de bases de datos. Es una buena práctica obligatoria forzar un reetiquetado completo del sistema de archivos en el próximo inicio:

touch /.autorelabel

A continuación, reinicie el servidor una última vez para permitir que SELinux indexe correctamente todos los archivos del sistema operativo bajo la nueva firma de Rocky Linux. Tenga en cuenta que este reinicio específico puede demorar unos minutos adicionales debido al proceso de reetiquetado:

reboot

Bloque 5: Consideraciones de Mantenimiento y Buenas Prácticas a Largo Plazo

La transición a una nueva distribución requiere ajustar las políticas de mantenimiento preventivo para garantizar la máxima disponibilidad del servidor en entornos de misión crítica.

  • Gestión de Repositorios de Terceros: Si su servidor utiliza repositorios como EPEL (Extra Packages for Enterprise Linux), verifique que las llaves GPG correspondientes se actualicen automáticamente al flujo de RHEL. Puede forzar la reinstalación del repositorio de compatibilidad empresarial ejecutando: dnf reinstall epel-release -y.
  • Monitoreo de Archivos de Configuración Reemplazados: Durante la sincronización distributiva, el gestor de paquetes guarda copias de seguridad de sus archivos de configuración modificados agregándoles la extensión .rpmnew o .rpmsave. Revise el directorio /etc para fusionar manualmente cualquier directiva que haya sido sobrescrita críticamente durante el proceso de migración.
  • Automatización de Parches de Seguridad: Configure el paquete dnf-automatic para programar la descarga e instalación automatizada de parches críticos de seguridad de Rocky Linux, asegurando la resiliencia de la infraestructura ante vulnerabilidades de día cero (Zero-Day Exploits).

🔥Tendencia🔥


Notas interesantes


Lo más reciente