Actualizar CentOS 7 a CentOS 8 — Guía paso a paso

CentOS 8 se lanzó el 23 de septiembre de 2019. Las ISO están disponibles en el sitio oficial y se pueden instalar de varias maneras. En este tutorial muestro un método para actualizar desde CentOS 7 a CentOS 8. Ten en cuenta que no es una actualización oficial y no es recomendable en entornos de producción sin pruebas previas.
Importante
- Haz una copia de seguridad completa del sistema y de los datos. Exporta configuraciones y listas de paquetes.
- Prueba el procedimiento en una máquina virtual o entorno de staging.
- Documenta cambios en servicios críticos (base de datos, web, autenticación).
Requisitos previos
- Acceso root o sudo en la máquina CentOS 7.
- Conexión a Internet para descargar repositorios y paquetes.
- Espacio libre en disco para instalar paquetes nuevos y kernels.
Pasos de actualización
- Descargar e instalar el repositorio EPEL para CentOS 7:
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm- Instalar utilidades yum:
yum -y install rpmconf yum-utils- Resolver paquetes rpm y revisar configuraciones:
rpmconf -a
Elige “Keep Default” cuando se te solicite a menos que tengas razones para sobrescribir configuraciones.
- Limpiar paquetes huérfanos y que no son dependencias:
package-cleanup --leaves
package-cleanup --orphans- Instalar dnf (gestor moderno basado en RPM):
yum -y install dnf- Quitar yum si deseas remplazarlo por completo (opcional y arriesgado):
dnf -y remove yum yum-metadata-parser
rm -Rf /etc/yum- Actualizar el sistema con dnf:
sudo dnf -y upgrade- Instalar el paquete centos-release de CentOS 8 para cambiar la base:
dnf -y upgrade http://mirror.bytemark.co.uk/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm- Actualizar el repositorio EPEL a la versión para CentOS 8:
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm- Limpiar la caché de dnf:
dnf clean all- Eliminar kernels antiguos si es necesario (asegúrate de no borrar el kernel en uso):
rpm -e `rpm -q kernel`- Eliminar paquetes conflictivos:
rpm -e --nodeps sysvinit-tools- Ejecutar la sincronización de distribución para migrar paquetes a la versión 8:
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-syncEste paso puede eliminar paquetes que entran en conflicto. Revisa la lista antes de confirmar si trabajas en un entorno interactivo.
- Procesar nuevas configuraciones:
rpmconf -a- Asegurarse de que el nuevo kernel-core esté instalado correctamente:
rpm -e kernel-core
dnf -y install kernel-core- Confirmar que GRUB esté instalado en el dispositivo raíz:
ROOTDEV=`ls /dev/*da|head -1`;
echo "Detected root as $ROOTDEV..."
grub2-install $ROOTDEV- Instalar el grupo mínimo y núcleo de paquetes:
dnf -y groupupdate "Core" "Minimal Install"- Comprobar la versión de CentOS:
cat /etc/centos-release
Comprobaciones post-actualización
- Reinicia el servidor y confirma que arranca con el nuevo kernel.
- Verifica servicios críticos (systemd status, base de datos, web, autenticación).
- Revisa journald y /var/log/messages por errores de arranque.
- Comprueba que los repositorios apuntan a CentOS 8 y EPEL 8.
Cuándo no usar este método
- Si necesitas un proceso oficialmente soportado por CentOS.
- En sistemas en producción sin ventana de mantenimiento y copias de seguridad verificadas.
- Si dependes de paquetes de terceros que no están disponibles para CentOS 8.
Alternativas
- Instalar CentOS 8 desde cero y migrar datos y configuraciones.
- Crear hosts nuevos y migrar servicios mediante replicación o balanceadores.
- Usar contenedores para aislar servicios y minimizar cambios en el host.
Lista de comprobación antes de actualizar
- Copia de seguridad completa del sistema y configuración
- Backup y prueba de bases de datos
- Plan de rollback o imagen de máquina previa a la actualización
- Inventario de paquetes críticos y dependencias
- Ventana de mantenimiento comunicada a usuarios
Riesgos y mitigaciones
- Riesgo: Paquetes eliminados por conflictos. Mitigación: revisar lista que muestra dnf antes de confirmar.
- Riesgo: Sistema no arranca. Mitigación: tener acceso de consola física/virtual y snapshot del disco.
- Riesgo: Configuraciones incompatibles. Mitigación: comparar archivos de configuración y mantener copias.
Resumen
Este procedimiento ofrece una ruta no oficial para migrar CentOS 7 a CentOS 8 mediante dnf y sincronización de paquetes. Es útil para pruebas y entornos controlados, pero en producción suele ser más seguro reinstalar o migrar servicios a hosts nuevos. Siempre haz copias de seguridad y valida cada paso en un entorno de pruebas.
Notas: si necesitas un playbook o checklist en formato Ansible/automático, puedo proporcionarlo como complemento.
Materiales similares
Podman en Debian 11: instalación y uso
Apt-pinning en Debian: guía práctica
OptiScaler: inyectar FSR 4 en casi cualquier juego
Dansguardian + Squid NTLM en Debian Etch
Arreglar error de instalación Android en SD