GNU/Linux >> Tutoriales Linux >  >> Linux

Cree un repositorio YUM/DNF basado en FTP en Red Hat Enterprise Linux 8

Los repositorios de software generalmente se usan a través de Internet y pueden acceder a ellos múltiples usuarios en todo el mundo. Sin embargo, puede crear su propio repositorio local en su servidor local y usarlo como un solo usuario, o permitir el acceso a otras máquinas en su LAN usando un servidor web HTTP o FTP.

La ventaja de crear un repositorio local es que no necesita una conexión a Internet para

instalar paquetes de software o actualizaciones. Otro beneficio es, por supuesto, la velocidad de descarga. Dado que los paquetes se descargan a través de una red local, las actualizaciones se realizan rápidamente.

Yellowdog Updater, Modified (YUM) o Dandified YUM (DNF) son administradores de paquetes de software que administran las distribuciones de Linux basadas en RPM. Con YUM o DNF, puede instalar y actualizar grupos de computadoras sin tener que actualizar manualmente cada una usando RPM.

En este artículo, explicaré cómo configurar un repositorio YUM/DNF local en Red Hat Enterprise Linux (RHEL) 8 usando el DVD de instalación o el archivo ISO. También le mostraré cómo encontrar e instalar paquetes de software en máquinas cliente RHEL 8 utilizando el demonio FTP muy seguro (vsftpd ) servidor. Para obtener instrucciones sobre el servidor web Apache, consulte Crear su propio repositorio YUM/DNF basado en Apache en Red Hat Enterprise Linux 8.

Requisitos

Deberá configurar dos máquinas con sistemas Red Hat Enterprise Linux 8, un servidor de repositorio local y una máquina cliente que usará el repositorio local del servidor local. Por ejemplo:

  • Servidor de repositorio local:RHEL 8 [10.0.0.10]

  • Equipo cliente local:RHEL 8 [10.0.0.11]

  • DVD de instalación de RHEL 8

  • vsftpd  Servidor FTP

Crea tu repositorio

La creación de su repositorio implica una serie de pasos.

Paso 1:Monte los medios de Red Hat Enterprise Linux 8

Primero, monte el medio local (el DVD, la memoria USB, etc.) que contiene Red Hat Enterprise Linux 8. Use el DVD de instalación:

$ sudo mount /dev/cdrom /mnt mount:/mnt:ADVERTENCIA:dispositivo protegido contra escritura, montado solo lectura. 

O monta la imagen ISO:

$ sudo mount -o loop rhel-8.0-x86_64-dvd.iso /mnt 

[¿Quiere probar Red Hat Enterprise Linux? Descárguelo ahora gratis.]

Paso 2:Cree un repositorio local de YUM a partir de los medios montados

Mueva los archivos de repositorio existentes ubicados en /etc/yum.repos.d :

$ sudo mv /etc/yum.repos.d/*.repo /tmp/ 

A partir de este punto, es mejor que continúes como usuario root. Cambiar a superusuario con su comando.

A continuación, cree un directorio para el repositorio:

# mkdir /local_repo 

Use este directorio con vsftpd para servir archivos a través de la LAN.

Cree el archivo de configuración del nuevo repositorio local local-dvdrom.repo bajo /etc/yum.repos.d directorio:

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

Paso 3:Copie el contenido multimedia en el directorio local

Copie los archivos ISO localmente en /local_repo directorio:

# cd /mnt# tar cvf - . | (cd /local_repo/; tar xvf -) 

Espere hasta que se copien los archivos, luego verifique que los archivos se hayan copiado usando:

# ls -l /local_repo/total 56dr-xr-xr-x. 4 raíz raíz 38 4 de abril de 2019 AppStreamdr-xr-xr-x. 4 root root 38 4 de abril de 2019 BaseOSdr-xr-xr-x. 3 raíz raíz 18 4 de abril de 2019 EFI-r--r--r--. 1 root root 8266 1 de marzo de 2019 EULA-r--r--r--. 1 root root 1455 4 de abril de 2019 extra_files.json-r--r--r--. 1 raíz raíz 18092 1 de marzo de 2019 GPLdr-xr-xr-x. 3 root root 76 4 de abril de 2019 imágenes dr-xr-xr-x. 2 root root 256 4 de abril de 2019 isolinux-r--r--r--. 1 root root 103 4 de abril de 2019 media.repo-r--r--r--. 1 root root 1669 1 de marzo de 2019 RPM-GPG-KEY-redhat-beta-r--r--r--. 1 root root 5134 1 de marzo de 2019 RPM-GPG-KEY-redhat-release-r--r--r--. 1 raíz raíz 1796 4 de abril de 2019 TRANS.TBL 

Paso 4:Configure el repositorio local de YUM/DNF

Edite el archivo de configuración del repositorio que creó anteriormente:

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

Pegue esta configuración en él:

[LocalRepo_BaseOS]name=LocalRepo_BaseOSmetadata_expire=-1enabled=1gpgcheck=1baseurl=file:///local_repo/BaseOS/gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY- Redhat-release[LocalRepo_AppStream]name=LocalRepo_AppStreammetadata_expire=-1enabled=1gpgcheck=1baseurl=file:///local_repo/AppStream/gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  

Instale los paquetes necesarios para crear, configurar y administrar el repositorio local:

# yum repolistActualizando repositorios de administración de suscripciones. No se puede leer la identidad del consumidor. Este sistema no está registrado en la administración de suscripciones de Red Hat. Puede usar el administrador de suscripciones para registrarse. LocalRepo_AppStream 94 MB/s | 5.3 MB 00:00 LocalRepo_BaseOS 97 MB/s | 2.2 MB 00:00 id de repositorio nombre de repositorio statusLocalRepo_AppStream LocalRepo_AppStream 4,672LocalRepo_BaseOS LocalRepo_BaseOS 1,658# yum install createrepo yum-utilsActualizando repositorios de administración de suscripciones. No se puede leer la identidad del consumidorEste sistema no está registrado en la administración de suscripciones de Red Hat. Puede usar el administrador de suscripción para registrarse. Última verificación de caducidad de metadatos:hace 0:02:33 el sábado 05 de octubre de 2019 09:52:46 p. m. UTC. El paquete dnf-utils-4.0.2.2-3.el8.noarch ya está instalado .Dependencias resueltas.===============================================================================Paquete Arch Versión Repositorio Tamaño================================================================================Instalación:createrepo_c x86_64 0.11.0-1.el8 LocalRepo_AppStream 76 kInstalación de dependencias:createrepo_c-libs x86_64 0.11.0-1.el8 LocalRepo_AppStream 101 k drpm x86_64 0.3.0-14.el8 LocalRepo_AppStream 71 kResumen de transacciones================================================================================Instalar 3 paquetesTamaño total:249 kTamaño instalado :556 kEstá bien [s/n]:yDescargando paquetes:Ejecutando verificación de transacción Verificación de transacción exitosa. Ejecutando prueba de transacción Transacción n prueba exitosa. Transacción en ejecución Preparación:1/1 Instalación:drpm-0.3.0-14.el8.x86_64 1/3 Instalación:createrepo_c-libs-0.11.0-1.el8.x86_64 2/3 Instalación:createrepo_c-0.11 .0-1.el8.x86_64 3/3 Ejecución de scriptlet:createrepo_c-0.11.0-1.el8.x86_64 3/3 Verificación:createrepo_c-0.11.0-1.el8.x86_64 1/3 Verificación:createrepo_c-libs- 0.11.0-1.el8.x86_64 2/3 Verificando:drpm-0.3.0-14.el8.x86_64 3/3 Productos instalados actualizados. Instalado:createrepo_c-0.11.0-1.el8.x86_64 createrepo_c-libs-0.11 .0-1.el8.x86_64 drpm-0.3.0-14.el8.x86_64 ¡Completado! 

Finalmente, ejecute createrepo comando:

# createrepo /local_repo/Directory walk iniciadoDirectory walk done - 6647 packagesRuta temporal del repositorio de salida:/local_repo/.repodata/Preparing sqlite DBsPool iniciado (con 5 trabajadores)Pool terminado 

Paso 5:Pruebe y verifique su repositorio local

En este paso, limpia los archivos del repositorio temporal y verifica que el repositorio local esté habilitado:

# yum clean allActualizando repositorios de administración de suscripciones. No se puede leer la identidad del consumidor. Este sistema no está registrado en la administración de suscripciones de Red Hat. Puede usar el administrador de suscripciones para registrarse. 12 archivos eliminados # yum repolistActualización de los repositorios de administración de suscripciones. No se puede leer la identidad del consumidor. Este sistema no está registrado en la administración de suscripciones de Red Hat. Puede usar el administrador de suscripciones para registrarse. LocalRepo_AppStream 120 MB/s | 5.3 MB 00:00 LocalRepo_BaseOS 103 MB/s | 2,2 MB 00:00 id de repositorio nombre de repositorio statusLocalRepo_AppStream LocalRepo_AppStream 4672LocalRepo_BaseOS LocalRepo_BaseOS 1658 

Verifique que se haya creado el repositorio local:

  # ls /local_repo/repodata/26617821a5263fb13c7a49cc5e2d0b979b926eb17b9b4ed0b7df624e04c272f2-other.sqlite.bz25626e6dd41648dc6395def6889f4cc0e7f1006bb7d7eca748c9abd4c67fa5b9b-other.xml.gz6290a72e46a90f98896c14f7664440de10c798d158ce0afe5f15a9f3896b7824-primary.xml.gza5c265589796231ed91b8b25a0473d05915bf62496495a004d321d042b26360c-filelists.sqlite.bz2c8b51f43bdaa4f14cd5b083851cef1068e9284fa6557eb4552ba2ae22e7f72d5-primary.sqlite.bz2ed21f77d28e263df02739a4bd55eb7247ffd0531c871bfe677d4b205dbffd5e8-filelists.xml.gzrepomd .xml 

Puede ver que el repositorio local generó archivos, por lo que todo está bien en este punto.

Si lee atentamente el resultado del comando anterior, recibe el mensaje de advertencia, Este sistema no está registrado en Red Hat Subscription Management. Puede usar el administrador de suscripción para registrarse . Si desea suprimir o evitar este mensaje mientras ejecuta dnf o ñam luego edite el archivo /etc/yum/pluginconf.d/subscription-manager.conf :

# vim /etc/yum/pluginconf.d/subscription-manager.conf 

y cambie el parámetro enabled=1 a habilitado=0 :

[principal]habilitado=0 

Configura tu servidor FTP

Como mencioné antes, este artículo cubre la configuración de su propio repositorio usando un servidor FTP (en este caso, vsftpd ). Te guiaré a través de la instalación y configuración de vsftpd para servir su repositorio.

Instalar vsftpd

Para configurar su servidor FTP para manejar su representante, primero instale vsftpd :

# yum install vsftpdÚltima comprobación de caducidad de metadatos:hace 0:45:11 el domingo 6 de octubre de 2019 13:35:13 UTC. Dependencias resueltas.==========================================================================================Tamaño del repositorio de la versión del paquete Arch=========================================================================================Instalando:vsftpd x86_64 3.0.3-28.el8 LocalRepo_AppStream 180 kResumen de transacciones=========================================================================================Instalar 1 paqueteTamaño total:180 kTamaño instalado:356 kEstá bien [y/N]:y 

Configure vsftpd para que se inicie automáticamente en el arranque

Una vez vsftpd está instalado, inicie y habilite el servicio para que se inicie automáticamente al arrancar y verifique su estado usando los siguientes comandos:

# systemctl start vsftpd# systemctl enable vsftpdCreated enlace simbólico /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.# systemctl status nginx● vsftpd.service - Vsftpd ftp daemon Cargado:cargado (/usr/lib/systemd/system/vsftpd.service; habilitado; proveedor preestablecido:deshabilitado) Activo:activo (en ejecución) desde Sun 2019-10-06 10:15:47 UTC; Hace 22 s PID principal:18330 (vsftpd) Tareas:1 (límite:2348) Memoria:7,6 M CGroup:/system.slice/vsftpd.service └─18330 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.confOct 06 10 :15:47 server systemd[1]:iniciando el demonio ftp de Vsftpd... 6 de octubre 10:15:47 server vsftpd[3593]:inició el demonio ftp de Vsftpd. 

Configurar el cortafuegos

A continuación, debe configurar el cortafuegos para que vsftpd se puede contactar:

# firewall-cmd --permanent --add-port=21/tcpsuccess# firewall-cmd --reloadsuccess 

Verificar que vsftpd esté funcionando

Ahora puede verificar que su servidor FTP esté funcionando utilizando un cliente FTP para conectarse a localhost . Por ejemplo:

$ ftp localhostProbando ::1...Conectado a localhost (::1).220 (vsFTPd 3.0.3)Nombre (localhost:bb):bb331 Especifique la contraseña.Contraseña:230 Inicio de sesión exitoso. El tipo de sistema remoto es UNIX. Uso del modo binario para transferir archivos. rw-r-- 1 1001 1001 4 Ago 07 04:46 ejemplo.txt-rw-rw-r-- 1 1001 1001 20 Ago 07 17:45 prueba.txt226 Directorio enviar OK.ftp>
 quit221 Adiós.$ 

Configurar vsftpd

Para configurar vsftpd , abra el archivo de configuración:

#vim /etc/vsftpd/vsftpd.conf 

Cuando se abra, cambie lo siguiente:

anonymous_enable=YES## Elimine el comentario para permitir que los usuarios locales inicien sesión.# Cuando SELinux está aplicando la comprobación de SE bool ftp_home_dirlocal_enable=YES## Elimine el comentario para habilitar cualquier forma de comando de escritura FTP.write_enable=NO 

Agregue la siguiente línea en cualquier parte del archivo de configuración:

local_root=/local_repo 

Prueba y limpieza

Finalmente, reinicie y pruebe el vsftpd servicio:

# systemctl restart vsftpd# systemctl status vsftpd● vsftpd.service - Vsftpd ftp daemon Loaded:cargado (/usr/lib/systemd/system/vsftpd.service; disabled; proveedor preestablecido:disa> Active:active ( en ejecución) desde Sun 2019-10-06 14:31:30 UTC; hace 7 s Proceso:6514 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (código=salido, estado=> PID principal:6515 ( vsftpd) Tareas:1 (límite:11528) Memoria:644.0K CGroup:/system.slice/vsftpd.service └─6515 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.confOct 06 14:31:30 server systemd[ 1]:iniciando el demonio ftp de Vsftpd... 06 de octubre 14:31:30 server systemd[1]:se inició el demonio ftp de Vsftpd. 

Cambiar permisos y configurar SELinux

Continúe con la configuración de seguridad cambiando los permisos en el local_repo directorio y configurando SELinux. Para cambiar los permisos:

# setfacl -R -m u:raíz:rwx /local_repo/ 

Luego, verifique si SELinux está aplicando:

# getenforceEnforcing 

Si es Aplicar , escriba:

# chcon -Rt public_content_t /local_repo/ 

Configurar el cliente

Ahora, para configurar el repositorio de la máquina cliente de Red Hat Enterprise Linux 8.

Agregar los repositorios

En la máquina del cliente, agregue los repositorios locales del servidor a la configuración de YUM del cliente:

$ sudo vim /etc/yum.repos.d/local-rhel8.repo  

Luego pegue la siguiente configuración (asegúrese de cambiar la dirección IP del servidor según su configuración):

[LocalServerRepo]name=LocalServerRepoenabled=1gpgcheck=0baseurl=ftp://10.0.0.10/ 

Probar el repositorio

Pruebe el LocalServerRepo instalando un paquete. Por ejemplo:

$ yum repolistNot root, los repositorios de gestión de suscripciones no están actualizadosLocalServerRepo 112 MB/s | 7,2 MB 00:00 Última comprobación de caducidad de metadatos:hace 0:00:02 el domingo 6 de octubre de 2019 01:04:21 p. el sistema no está registrado en Red Hat Subscription Management. Puede usar el administrador de suscripción para registrarse. LocalServerRepo 103 MB/s | 7,2 MB 00:00 Última comprobación de caducidad de metadatos:hace 0:00:02 el domingo 6 de octubre de 2019 01:07:33 p. m. UTC. Dependencias resueltas.================================================================================Tamaño del repositorio de la versión del paquete Arch===============================================================================Instalación:nano x86_64 2.9.8-1.el8 LocalServerRepo 580 kResumen de transacciones================================================================================Instalar 1 Packagetotal Descarga Tamaño:580 Kinstalled tamaño:2.2 MI¿Está bien [y/N]:yPaquetes de descarga:nano-2.9.8-1.el8.x86_64.rpm 19 MB/s | 580 kB 00:00 --------------------------------------------- --------------------------------------------------Total 17 MB/s | 580 kB 00:00 Ejecutando verificación de transacción Verificación de transacción exitosa. Ejecutando prueba de transacción Prueba de transacción exitosa. Ejecutando transacción Preparando:1/1 Instalando:nano-2.9.8-1.el8.x86_64 1/1 Ejecutando scriptlet:nano-2.9.8-1 .el8.x86_64 1/1 Verificando:nano-2.9.8-1.el8.x86_64 1/1 Productos instalados actualizados. Instalado:nano-2.9.8-1.el8.x86_64 ¡Completado! 

¡Eso es todo! Ahora tiene un repositorio YUM/DNF local basado en FTP en Red Hat Enterprise Linux 8, utilizando el DVD de instalación o el archivo ISO.


Linux
  1. Cómo crear un repositorio local de Red Hat

  2. Registre Red Hat Enterprise Linux y adjunte una suscripción con Ansible

  3. Configuración de una dirección IPv6 en Red Hat Enterprise Linux 7 y 8

  4. Creación de una imagen personalizada de Red Hat Enterprise Linux 7 para Microsoft Azure

  5. Aspectos a tener en cuenta al ejecutar Red Hat Enterprise Linux en Azure

Descargar RedHat Linux

RHEL 6:guía de instalación paso a paso del servidor Red Hat Enterprise Linux

Pasos de instalación de Red Hat Enterprise Linux (RHEL) 8 con capturas de pantalla

Cómo instalar Red Hat Enterprise Linux 8 (RHEL 8)

¿Cómo obtener Red Hat Enterprise Linux gratis?

¿Qué es Red Hat Linux?