Cómo crear un repositorio HTTP Yum / DNF local en RHEL 8


Un repositorio de software o "repositorio" es una ubicación central para guardar y mantener los paquetes de software RPM para la distribución de Redhat Linux, desde donde los usuarios pueden descargar e instalar paquetes en sus servidores Linux.

Los repositorios generalmente se almacenan en una red pública, a la que pueden acceder múltiples usuarios en Internet. Sin embargo, puede crear su propio repositorio local en su servidor y acceder a él como un solo usuario o permitir el acceso a otras máquinas en su LAN local (Red de área local) utilizando el servidor web HTTP.

La ventaja de crear un repositorio local es que no necesita una conexión a Internet para instalar paquetes de software o actualizaciones.

YUM (Yellowdog Updater Modified) o DNF (Dandified YUM) es una utilidad de administración de paquetes de software ampliamente utilizada para sistemas Linux basados u200bu200ben RPM (RedHat Package Manager), que facilita la instalación del software en Red Hat/CentOS Linux.

En este artículo, explicaremos cómo configurar un repositorio YUM/DNF local en RHEL 8 utilizando el DVD de instalación o el archivo ISO. También le mostraremos cómo encontrar e instalar paquetes de software en máquinas cliente RHEL 8 utilizando el servidor HTTP Nginx.

Local Repository Server: RHEL 8 [192.168.0.106]
Local Client Machine: RHEL 8 [192.168.0.200]

Paso 1: Instale el servidor web Nginx

1. Primero, instale el servidor HTTP Nginx usando el administrador de paquetes DNF de la siguiente manera.

# dnf install nginx

2. Una vez instalado Nginx, puede iniciar, habilitar el servicio para que se inicie automáticamente en el momento del arranque y verificar el estado con los siguientes comandos.

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

3. A continuación, debe abrir los puertos Nginx 80 y 443 en su firewall.

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload

4. Ahora puede verificar que su servidor Nginx está en funcionamiento yendo a la siguiente URL en su navegador web, se mostrará una página web Nginx predeterminada.

http://SERVER_DOMAIN_NAME_OR_IP

Paso 2: Montaje del archivo ISO / DVD de instalación de RHEL 8

5. Cree un punto de montaje de repositorio local en el directorio raíz de documentos de Nginx /var/www/html/ y monte la imagen ISO del DVD RHEL 8 descargada en el directorio /mnt .

# mkdir /var/www/html/local_repo
# mount -o loop rhel-8.0-x86_64-dvd.iso /mnt  [Mount Download ISO File]
# mount /dev/cdrom /mnt                       [Mount DVD ISO File from DVD ROM]

6. Luego, copie los archivos ISO localmente en el directorio /var/www/html/local_repo y verifique el contenido usando el comando ls.

# cd /mnt
# tar cvf - . | (cd /var/www/html/local_repo/; tar xvf -)
# ls -l /var/www/html/local_repo/

Paso 3: configurar el repositorio local

7. Ahora es el momento de configurar el repositorio local. Necesita crear el archivo de configuración del repositorio local en el directorio /etc/yum.repos.d/ y establecer los permisos apropiados en el archivo como se muestra.

# touch /etc/yum.repos.d/local-rhel8.repo
# chmod  u+rw,g+r,o+r  /etc/yum.repos.d/local-rhel8.

8. A continuación, abra el archivo para editarlo con su editor de texto de línea de comandos favorito.

# vim /etc/yum.repos.d/local.repo

9. Copie y pegue el siguiente contenido en el archivo.

[LocalRepo_BaseOS]
name=LocalRepo_BaseOS
metadata_expire=-1
enabled=1
gpgcheck=1
baseurl=file:///var/www/html/local_repo/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LocalRepo_AppStream]
name=LocalRepo_AppStream
metadata_expire=-1
enabled=1
gpgcheck=1
baseurl=file:///var/www/html/local_repo/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

Guarde los cambios y salga del archivo.

10. Ahora necesita instalar los paquetes necesarios para crear, configurar y administrar su repositorio local ejecutando el siguiente comando.

# yum install createrepo  yum-utils
# createrepo /var/www/html/local_repo/

Paso 4: prueba del repositorio local

11. En este paso, debe ejecutar una limpieza de los archivos temporales guardados para los repositorios mediante el siguiente comando.

# yum clean all
OR
# dnf clean all

12. Luego, verifique que los repositorios creados aparezcan en la lista de repositorios habilitados.

# dnf repolist
OR
# dnf repolist  -v  #shows more detailed information 

13. Ahora intente instalar un paquete desde los repositorios locales, por ejemplo, instale la herramienta de línea de comandos de Git de la siguiente manera:

# dnf install git

Al observar el resultado del comando anterior, el paquete git se está instalando desde el repositorio LocalRepo_AppStream como se muestra en la captura de pantalla. Esto prueba que los repositorios locales están habilitados y funcionan bien.

Paso 5: Configurar el repositorio local de Yum en las máquinas cliente

14. Ahora, en sus máquinas cliente RHEL 8, agregue sus repositorios locales a la configuración de YUM.

# vi /etc/yum.repos.d/local-rhel8.repo 

Copie y pegue la siguiente configuración en el archivo. Asegúrese de reemplazar baseurl con la dirección IP o el dominio de su servidor.

[LocalRepo_BaseOS]
name=LocalRepo_BaseOS
enabled=1
gpgcheck=0
baseurl=http://192.168.0.106

[LocalRepo_AppStream]
name=LocalRepo_AppStream
enabled=1
gpgcheck=0
baseurl=http://192.168.0.106

Guarde el archivo y comience a usar sus espejos YUM locales.

15. A continuación, ejecute el siguiente comando para ver sus repositorios locales en la lista de repositorios YUM disponibles, en las máquinas cliente.

# dnf repolist

¡Eso es todo! En este artículo, hemos mostrado cómo crear un repositorio YUM/DNF local en RHEL 8, utilizando el DVD de instalación o el archivo ISO. No olvide comunicarse con nosotros a través del formulario de comentarios a continuación para cualquier pregunta o comentario.