Cómo subir de versión de Centos 7 a Centos 8

Tal y como indica el nombre de la entrada, aprendemos a subir la versión de Centos 7 a Centos 8. Para ello nos serviremos de la consola de comandos en esta popular distribución comunitaria para servidores, patrocinada por la compañía Red Hat.

Antes de continuar, ¿qué tal estáis? La verdad es que estos meses están siendo bastante duros, el confinamiento y la marcha de nuestros seres queridos, está siendo una prueba de fuego para toda la humanidad. Espero que estéis bien, desde este humilde blog os envío toda la fuerza y todo el ánimo. Pensad, que tras una larga noche siempre llega el amanecer.

Preparar el sistema para el upgrade

Primero de todo debemos habilitar, si no lo tenemos ya, el repositorio, cosa de la que ya hablamos en una entrada: Habilitar repositorio epel-release En este caso lo haríamos de la siguiente manera:

yum install epel-release -y

Además tenemos tener instaladas las siguientes herramientas para el gestor de paquetes YUM

yum install yum-utils -y

Y resolvemos los paquetes RPM

yum install rpmconf -y
rpmconf -a

Si no conoces la herramienta rpmconf, esta se encarga de busca archivos .rpmnew, .rpmsave y .rpmorigfiles y nos pregunta qué hacer con ellos: mantener la versión actual, utilizar la versión anterior o consultar con diff.

A continuación realizamos una limpieza de los paquetes que no necesitamos:

package-cleanup --leaves
package-cleanup --orphans

Instalar el gestor depaquetes DNF

YUM es un gestor de paquetes un poco “viejuno” y ha sido superado por el vitaminado DNF, por lo que lo debemos instalar en el sistema, ya que en la versión 7 no está disponible por defecto. Lo haremos así:

yum install dnf

Aunque podrían subsistir los dos gestores, lo adecuado es desinstalar YUM:

dnf -y remove yum yum-metadata-parser
rm -Rf /etc/yum

Subir de versión Centos 7 a Centos 8

Ahora sí, vamos a subir de versión el sistema, de Centos 7 a Centos 8, de la siguiente manera:

dnf upgrade -y

A continuación habilitamos los repositorios de Centos 8

dnf install \
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-repos-8.2-2.2004.0.1.el8.x86_64.rpm \
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.2-2.2004.0.1.el8.x86_64.rpm \
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8.2-2.2004.0.1.el8.noarch.rpm

Hacemos lo propio con el repositorios EPEL, que lo actualizamos:

dnf upgrade -y epel-release

Construimos de nuevo la caché:

dnf makecache

Después de actualizar el repositorio EPEL, eliminamos todos los archivos temporales.

dnf clean all

Eliminamos todas las versiones actuales del kernel:

rpm -e `rpm -q kernel`

Lo propio con los paquetes conflictivos:

rpm -e --nodeps sysvinit-tools

Ahora sí, actualizamos:

dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

NOTA:En esta parte, en los últimos tiempos a veces me he encontrado con conflictos en la actualización, con los paquetes de Python, para solventarlo:

rpm -e --justdb python36-rpmconf-1.0.22-1.el7.noarch rpmconf-1.0.22-1.el7.noarch
rpm -e --justdb --nodeps python3-setuptools-39.2.0-10.el7.noarch
rpm -e --justdb --nodeps python3-pip-9.0.3-7.el7_7.noarch
rpm -e --justdb --nodeps iptables-1.4.21-34.el7.x86_64
rpm -e --justdb --nodeps vim-minimal
# Y después
dnf upgrade --best --allowerasing rpm

Ahora sí, ya podemos continuar con la instalación.

Instalamos la última versión del core de Centos 8

dnf install -y kernel-core

Instalamos los paquetes mínimos del sistema:

dnf -y groupupdate "Core" "Minimal Install"

Una vez hecho esto, reiniciamos:

reboot

Al volver acceder podemos comprobar la versión del sistema:

cat /etc/redhat-release

Con el resultado:

[root@servcentosforeman ~]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
Y eso es todo, espero que esta entrada os sea de utilidad en algún momento. Nos vamos leyendo.

5 Respuestas

  1. Fergus Reig Gracia dice:

    Hice este paso “dnf upgrade -y \
    http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/\
    {centos-release-8.1-1.1911.0.8.el8.x86_64.rpm,centos-gpg-keys-8.1-1.1911.0.8.el8.noarch.rpm,centos-repos-8.1-1.1911.0.8.el8.x86_64.rpm}”
    Y después el siguiente pasó de la actualización falló… quería eliminar el repositorio para no seguir la actualización, ¿cómo se podría hacer?

  2. jesus hernandez dice:

    Buen dia!

    El servidor que quiero actualizar no cuenta con acceso a internet por temas de seguridad de la empresa, existe algún procedimiento para actualizar de centos 7.8 a centos 8.1 utilizando la imagen iso que descarga de la pagina (https://www.centos.org/download/) o de un dvd con dicha imagen.

    Gracias.

    Saludos.

  3. Carlos dice:

    Buenas tardes.

    Tras lanzar el paso “dnf install -y kernel-core”, se queda Ejecutando prueba de operaciones, en otra terminal he visto que el proceso esta corriendo “00:00:03 /usr/libexec/platform-python /usr/bin/dnf install -y kernel-core”.

    ¿ Es normal que tarde tanto?. He seguido todos los pasos anteriores detalladamente.

    Espero su respuesta. Un saludo.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
A %d blogueros les gusta esto: