Cómo instalar RockyLinux 8.4

Haremos una migración desde Centos 8 con el script de RockyLinux
Bonus: Instalación de Webmin/Virtualmin

Durante los últimos meses, hemos escuchado las noticias sobre el final del proyecto de distribución de CentOS Linux. CentOS 8 será la última versión del proyecto CentOS Linux, que solo recibirá soporte hasta finales de este año 2021. Y para este momento, tenemos algunas distribuciones de Linux como alternativa a CentOS Linux 8 Stable, y entre ellas se encuentra "Rocky Linux".

Rocky Linux es una distribución de Linux de código abierto creada por el proyecto Rocky Linux, dirigido por Gregory Kurtzer, fundador del proyecto CentOS. Es una bifurcación de CentOS y está diseñada para ser 100% binaria compatible con RHEL. Rocky Linux proporciona un sistema operativo de nivel empresarial y una distribución de Linux lista para producción.

Preparar un nuevo servidor

Sigue este artículo del año pasado para una explicación detallada del montaje de un servidor Kimsufi: Cómo instalar un servidor web dedicado paso a paso

Migración desde Centos 8 con el script de RockyLinux

Por desgracia los servidores Kimsufi que utilizo no tienen todavía la disponible la distribución de RockyLinux, por lo que instalaremos Centos 8 para luego migrar a RockyLinux.

El equipo de desarrollo de Rocky Linux ha creado un script que ayuda a los usuarios a migrar en pocos minutos de CentOS 8 actual a Rocky Linux 8. Antes de iniciar el cambio, realizaremos una actualización en nuestra máquina Linux CentOS 8. Ten en cuenta que este método funciona tanto para la edición Server como para el sistema operativo Desktop Workstation.

En esta guía, aprenderás cómo migrar de CentOS 8 a Rocky Linux 8.4 utilizando la herramienta de migración proporcionada por el proyecto Rocky Linux.

Nota antes de la migración: haz una copia de seguridad de todos los datos de la aplicación en tu servidor, toma una instantánea de la imagen de tu servidor CentOS 8 para evitar la pérdida de datos y mueve la instantánea a un lugar seguro.

Prerrequisitos

Un usuario root o un usuario con privilegios de sudo. El script de migración de Rocky Linux debe ejecutarse como usuario root. A continuación se muestra la pantalla de nuestro servidor CentOS 8 antes de migrar a Rocky Linux.

hostnamectl

Ejecuta el siguiente comando para verificar tu sistema CentOS.

# hostnamectl

Obtendrás una salida similar a la captura de pantalla en la imagen de arriba.

Actualización de todos los paquetes

Primero, debes actualizar todos los paquetes en tu sistema CentOS 8, luego reiniciar el servidor.

1. Ejecuta el siguiente comando para actualizar todos los paquetes a la última versión.

# sudo dnf upgrade

Si hay algo que actualizar escribe "y" para confirmar la actualización de los paquetes y espera, tomará tiempo dependiendo de tu conexión a Internet.

actualizar paquetes de CentOS

2. Después de eso, reinicia el servidor para aplicar todos los cambios al sistema usando el siguiente comando.

# sudo reboot

Una vez que el servidor esté activo, inicia sesión nuevamente en tu servidor, luego puedes continuar con la siguiente etapa.

Instalar Git

1. Ejecuta el siguiente comando para instalar git en tu sistema.

# sudo dnf install git

Escribe "y" para confirmar la instalación.

instalar git

Ahora ve a la siguiente etapa para continuar.

Descargar Rocky Tools

1. Clona el repositorio "rocky-tools" en tu directorio raíz de inicio usando el comando git a continuación.

# git clone https://github.com/rocky-linux/rocky-tools.git

Cloning into 'rocky-tools'...
remote: Enumerating objects: 472, done.
remote: Counting objects: 100% (190/190), done.
remote: Compressing objects: 100% (122/122), done.
remote: Total 472 (delta 116), reused 89 (delta 68), pack-reused 282
Receiving objects: 100% (472/472), 125.64 KiB | 4.33 MiB/s, done.
Resolving deltas: 100% (189/189), done.

Dentro del directorio "rocky-tools" verás dos herramientas, el directorio "migrate2rocky" contiene la herramienta de migración para Rock Linux, y el directorio "mirror" contiene la herramienta para mantener sincronizados un espejo público y privado de Rocky Linux.

2. Cambia el directorio de trabajo a "~/rocky-tools/migrate2rocky" y ejecuta el comando "ls" como se muestra a continuación.

# cd rocky-tools/migrate2rocky; ls -lah

Ahora verás el script bash para la migración de Rocky Linux "migrate2rocky.sh".

script migrate2rocky

3. A continuación, haz que el script sea ejecutable cambiando el permiso del archivo usando el siguiente comando chmod.

# chmod +x migrate2rocky.sh

4. Ahora ejecuta el script "migrate2rocky.sh" como se muestra a continuación para mostrar la ayuda y todas las opciones disponibles.

# ./migrate2rocky.sh -h

Obtendrás un resultado similar al siguiente y estarás listo para migrar tu sistema CentOS 8 a Rocky Linux.

Usage: migrate2rocky.sh [OPTIONS]

Options:
-h Display this help
-r Convert to rocky
-V Verify switch
!! USE WITH CAUTION !!

migrate2rocky opciones

Migración de CentOS 8 a Rocky Linux

1. Inicia la migración de CentOS 8 a Rocky Linux ejecutando el script como se muestra a continuación.

# ./migrate2rocky.sh -r

2. Al principio, el script verificará todos los repositorios principales (AppStream, BaseOS y Extras) para CentOS 8 y se reasignará a Rocky Linux 8.

Removing dnf cache
Preparing to migrate CentOS Linux 8 to Rocky Linux 8.

Determining repository names for CentOS Linux 8.....

Found the following repositories which map from CentOS Linux 8 to Rocky Linux 8:
CentOS Linux 8 Rocky Linux 8
appstream appstream
baseos baseos
extras extras

migrate2rocky inicio

3. Después de eso, el script reemplazará todos los paquetes relacionados con CentOS con nuevos paquetes para Rocky Linux. Además, eliminará los paquetes innecesarios e instalará nuevos paquetes adicionales.

Getting system package names for CentOS Linux 8..........

Found the following system packages which map from CentOS Linux 8 to Rocky Linux 8:
CentOS Linux 8 Rocky Linux 8
centos-logos-ipa rocky-logos-ipa
centos-backgrounds rocky-backgrounds
centos-gpg-keys rocky-gpg-keys
centos-logos rocky-logos
centos-indexhtml rocky-indexhtml
centos-linux-release rocky-release
centos-logos-httpd rocky-logos-httpd
centos-linux-repos rocky-repos

Getting list of installed system packages.

We will replace the following CentOS Linux 8 packages with their Rocky Linux 8 equivalents
Packages to be Removed Packages to be Installed
centos-gpg-keys rocky-gpg-keys
centos-linux-release rocky-release
centos-linux-repos rocky-repos

Getting a list of enabled modules for the system repositories.

In addition to the above the following system packages will be removed:
centos-linux-release
centos-linux-release

Excluding modules:
libselinux-python:2.8

Found the following modules to re-enable at completion:
perl:5.26
perl-IO-Socket-SSL:2.066
perl-libwww-perl:6.34

migrate2rocky inicio 2

La instalación de paquetes durante el proceso de migración llevará tiempo (son aproximadamente 518), así que asegúrate de tener una buena conexión a Internet.

4. Cuando el proceso de migración sea exitoso, obtendrás un resultado similar al siguiente.

...
Complete!
Done, please reboot your system.
A log of this installation can be found at /var/log/migrate2rocky.log

5. A continuación, ejecuta el siguiente comando para asegurarte de que todos los paquetes instalados coincidan con la última versión disponible de cualquier repositorio habilitado en el sistema.

# sudo dnf distro-sync -y

Last metadata expiration check: 0:10:18 ago on Tue 28 Sep 2021 07:30:57 PM UTC.
Dependencies resolved.
Nothing to do.
Complete!

6. Después de eso, reinicia el sistema para aplicar todos los cambios al sistema usando el siguiente comando.

# sudo reboot

reiniciar servidor

7. Ahora, durante el proceso de arranque, puede que veas la ventana de grub con Rocky Linux disponible en el menú superior.

grub Rocky Linux

Si te aparece, selecciona "Rocky Linux (4xxxx) 8.4 (Green Obsidian)" y presiona "Enter" para iniciar el nuevo sistema. A mi no me ha aparecido esta pantalla después del reinicio.

Verificar la migración

1. Inicia sesión en el nuevo sistema y ejecuta el siguiente comando para verificar el resultado de la migración.

# hostnamectl

Tras la migración exitosa, verá un resultado similar al siguiente.

Static hostname: server1
Icon name: computer-vm
Chassis: vm
Machine ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Boot ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Virtualization: oracle
Operating System: Rocky Linux 8.4 (Green Obsidian)
CPE OS Name: cpe:/o:rocky:rocky:8.4:GA
Kernel: Linux 4.18.0-305.10.2.el8_4.x86_64
Architecture: x86-64

hostnamectl Rocky Linux

2. Además, puedes mostrar la versión del sistema operativo en el sistema.

# cat /etc/os-release

Y obtendrás el siguiente resultado.

NAME="Rocky Linux"
VERSION="8.4 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.4"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.4 (Green Obsidian)"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:rocky:rocky:8.4:GA"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky Linux"
ROCKY_SUPPORT_PRODUCT_VERSION="8"

Conclusión

Enhorabuena has migrado correctamente CentOS 8 a Rocky Linux 8.4. El proceso de migración es fluido y sin errores, y el sistema está funcionando como Rocky Linux. Y ahora estás listo para iniciar todos tus servicios y aplicaciones.

Bonus: Instalación de Webmin/Virtualmin

Virtualmin y Webmin

Ahora vamos a completar el servidor con el panel de administración gratuito que nos proveerá además de todas las aplicaciones necesarias para que funcione un sito web (Apache, MySQL, Bind, Postfix, Dovecot, etc.

Para asegurarnos de que la versión de PHP se la última de la serie 7.4, la vamos a instalar manualmente. Descargamos e instalamos los repositorios EPEL y Remi:

# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf install dnf-utils https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Habilitamos la rama 7.4 del repositorio de Remi:

# dnf module enable php:remi-7.4

Ahora procedemos a instalar el módulo 7.4 de REMI:

# dnf module install php:remi-7.4

Para acabar ejecutamos dnf distro-sync, una opción de sincronización de distribución que se utiliza para sincronizar los paquetes instalados con las últimas versiones disponibles.

# dnf distro-sync

Finalmente comprobamos la versión de PHP que tenemos instalada:

# php -v

Debes preparar primero tu servidor para el panel de control de Virtualmin. Para eso ingresa los siguientes comandos uno por uno. (También puedes copiar y pegarlos en la terminal):

# yum -y update

# yum -y install perl perl-interpreter

# yum install wget

Ahora podemos configurar el repositorio de Webmin para Rocky Linux 8, para lo que empezaremos instalando la clave pública que permitirá comprobar las firmas de sus paquetes (es un repositorio firmado):

# sudo rpm --import http://www.webmin.com/jcameron-key.asc

Copia y pega en tu terminal el bloque de comando dado a continuación y presiona la tecla Enter (como es un servidor nuevo posiblemente tendrás que instalar en tu servidor el editor nano con el siguiente comando: # yum install nano).

cat << EOF > /etc/yum.repos.d/webmin.repo
[Webmin]
name=Webmin
mirrorlist=https://download.webmin.com/download/yum/mirrorlist
enabled=1
gpgkey=http://www.webmin.com/jcameron-key.asc
EOF

Después de terminar con ellos, ingresa el siguiente comando (como es un servidor nuevo posiblemente tengas que instalar antes wget con el siguiente comando: # yum install wget):

# wget https://software.virtualmin.com/gpl/scripts/install.sh

NOTA IMPORTANTE. Al parecer existe un problema con Rocky Linux y el script de instalación de Virtualmin por lo que debemos editar el archivo install.sh y cambiar la línea vm_version=7 a vm_version=6 y guardar el archivo.

Esto descargará en tu servidor la secuencia de comandos para la instalación de Virtualmin GPL. Ahora corremos el script de instalación de Webmin/Virtualmin dando antes permisos 700 al archivo:

# chmod --verbose 700 ./install.sh
# ./install.sh

El proceso de instalación tarda bastante, una vez acabado obtendrás la siguiente salida:

[SUCCESS] Installation Complete!
[SUCCESS] If there were no errors above, Virtualmin should be ready
[SUCCESS] to configure at https://nombre_servidor.net:10000 (or https://URL_servidor:10000).
[SUCCESS] You may receive a security warning in your browser on your first visit.

La primera vez que entres al panel se te pedirá configurar Webmin/Virtualmin a través de varias pantallas. Lo ideal es dejar todas las opciones por defecto y más adelante ir modificándolas de acuerdo a tus necesidades.