Introducción
Buenas, en este post vamos a actualizar la instancia quijote
que tenemos en nuestro escenario de OpenStack. La actualizaremos de CentOS 7 a CentOS 8.
Comprobamos la versión de quijote
cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
Empezamos con lo necesario para la actualización:
Todos los pasos que haremos a continuación son obviamente con root o sudo.
-
Instalamos el repositorio de
EPEL
:yum install epel-release -y
-
Instalamos las utilidades necesarias que nos harán falta:
yum install yum-utils -y
-
Instalamos el paquete para resolver los paquetes
RPM
:yum install rpmconf -y
-
Y los resolvemos:
rpmconf -a
-
Limpiamos los paquetes innecesarios:
package-cleanup --leaves package-cleanup --orphans
-
Instalamos
dnf
, ya que en CentOS 8 no se usayum
:yum install dnf -y
-
Eliminamos
yum
:dnf -y remove yum yum-metadata-parser rm -Rf /etc/yum
-
Instalamos el paquete de lanzamiento de CentOS 8, los cuáles los podemos encontrar en la siguiente dirección:
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/
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
-
Actualizamos el repositorio de
EPEL
:dnf -y upgrade epel-release
-
Eliminamos los archivos temporales:
dnf makecache dnf clean all
-
Eliminamos el kérnel antiguo de CentOS 7:
grub2-mkconfig -o /boot/grub2/grub.cfg rpm -e `rpm -q kernel`
-
Eliminamos los paquetes conflictivos:
rpm -e --nodeps sysvinit-tools
Actualizamos
-
Lanzamos la actualización al nuevo sistema:
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
-
A nosotros nos ha dado un error con las dependencias de
Python 3
, el cuál hemos resuelto de la siguiente forma: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-8.el7.noarch rpm -e --justdb --nodeps vim-minimal
-
Volvemos a ejecutar:
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
-
Instalamos el nuevo kérnel para CentOS 8:
dnf -y install kernel-core
-
Comprobamos su instalación:
uname -r 4.18.0-193.28.1.el8_2.x86_64
-
Instalamos el paquete mínimo de CentOS 8:
dnf -y groupupdate "Core" "Minimal Install"
Y verificamos que se ha actualizado correctamente:
~~~
cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
~~~
Al reiniciar nos hemos dado cuenta de que nos tardaba bastante en hacerlo, para solucionarlo hemos deshabilitado el cloud-init, ya que estaba intentando resolver el direccionamiento mediante DHCP, y no tenemos DHCP en nuestra red, para deshabilitarlo:
touch /etc/cloud/cloud-init.disabled