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" \ --allowerasing --skip-broken
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.2.2004 (Core)