Cómo configurar el repositorio local HTTP Yum en Centos 7

Cómo configurar el repositorio local HTTP Yum en Centos 7

Un repositorio de software ("repositorio"En resumen) es una ubicación central de almacenamiento de archivos para mantener y mantener paquetes de software, de los cuales los usuarios pueden recuperar paquetes e instalarlos en sus computadoras.

Los repositorios a menudo se almacenan en servidores en una red, por ejemplo, un Internet, a la que pueden acceder varios usuarios. Sin embargo, puede crear y configurar un repositorio local en su computadora y acceder a él como un solo usuario o permitir el acceso a otras máquinas en su Lan (Red de área local).

Una ventaja de configurar un repositorio local es que no necesita una conexión a Internet para instalar paquetes de software.

YUM (YellowDog Updater Modified) es una herramienta de gestión de paquetes ampliamente utilizada para Rpm (Administrador de paquetes Redhat) Basado en los sistemas Linux, que facilita la instalación de software Sombrero rojo/centos Linux.

En este artículo, explicaremos cómo configurar un local Beque repositorio Http (Nginx) servidor web en CentOS 7 VPS y también muestre cómo encontrar e instalar paquetes de software en el cliente Centos 7 máquinas.

Nuestro entorno de prueba

Servidor de repositorio de Yum HTTP: Centos 7 [192.168.0.100] Máquina de clientes: Centos 7 [192.168.0.101] 

Paso 1: Instale el servidor web Nginx

1. Primero inicie instalando el servidor NGINX HTTP desde el repositorio EPEL utilizando el Administrador de paquetes YUM de la siguiente manera.

# yum instalación Epel-libease # yum install nginx 

2. Una vez que haya instalado el servidor web NGINX, puede iniciarlo por primera vez y habilitarlo para iniciar automáticamente en el arranque del sistema.

 # SystemCTL Start Nginx # SystemCTL Habilitar Nginx # SystemCTL Status Nginx 

3. A continuación, necesitas abrir puerto 80 y 443 Para permitir el tráfico web al servicio Nginx, actualice las reglas del firewall del sistema para permitir paquetes entrantes en Http y Https Usando los comandos a continuación.

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

4. Ahora puede confirmar que su servidor NGINX está en funcionamiento, utilizando la siguiente URL; Si ve la página web Nginx predeterminada, todo está bien.

http: // server_domain_name_or_ip 
Página predeterminada de Nginx

Paso 2: crea un repositorio local de Yum

5. En este paso, debe instalar los paquetes requeridos para crear, configurar y administrar su repositorio local.

# yum instalar createepo yum-utils 

6. A continuación, cree los directorios necesarios (Repositorios YUM) que almacenarán paquetes y cualquier información relacionada.

# mkdir -p/var/www/html/repos/base, centosplus, extras, actualizaciones 

7. Entonces usa el reposinco herramienta para sincronizar Centos yum Repositorios a los directorios locales como se muestra.

# Reposync -g -l -d -m - -Repoid = Base - -Newest -Only -download -Metadata -download_path =/var/www/html/repos/ # reposync -g -l -d -m --m - Reproid = Centosplus - -Newest -Only -download -Metadata -download_path =/var/www/html/repos/ # reposync -g -l -d -m - -Repoid = extras - -Newest -only -download- metadata -download_path =/var/www/html/repos/ # reposync -g -l -d -m - -Repoid = actualizaciones - -newest -only -download -metadata -download_path =/var/www/html/ Repos/ 
Salida de muestra
Plugins cargados: Fastmirror, Langpacks Cargando velocidades de espejo desde el archivo host en caché * Base: espejos.fibra.En * Epel: Mirror.xonbd.com * extras: espejos.fibra.En * actualizaciones: espejos.fibra.en base/7/x86_64/grupo | 891 KB 00:00:02 Sin metadatos de Presto disponibles para la base (1/9911): 389-DS-Base-SNMP-1.3.7.5-18.El7.x86_64.RPM | 163 KB 00:00:02 (2/9911): 389-DS-Base-Devel-1.3.7.5-18.El7.x86_64.RPM | 267 KB 00:00:02 (3/9911): Electricfence-2.2.2-39.El7.i686.RPM | 35 KB 00:00:00 (4/9911): Electricfence-2.2.2-39.El7.x86_64.RPM | 35 KB 00:00:00 (5/9911): 389-DS-BASE-LIBS-1.3.7.5-18.El7.x86_64.RPM | 695 KB 00:00:04 (6/9911): GCONF2-DEVEL-3.2.6-8.El7.i686.RPM | 110 KB 00:00:00 (7/9911): GCONF2-DEVEL-3.2.6-8.El7.x86_64.RPM | 110 KB 00:00:00 (8/9911): GCONF2-3.2.6-8.El7.i686.RPM | 1.0 MB 00:00:06 

En los comandos anteriores, la opción:

  • -gramo - habilita la eliminación de paquetes que fallan en la comprobación de la firma GPG después de la descarga.
  • -l - habilita el soporte de complemento YUM.
  • -d - habilita la eliminación de paquetes locales que ya no están presentes en el repositorio.
  • -metro - habilita la descarga de composiciones.xml archivos.
  • --reproide - Especifica la ID del repositorio.
  • --solo solo - Dígale a Reposync que solo extraiga la última versión de cada paquete en los repos.
  • --descargar metadata - Habilita la descarga de todos los metadatos no deformes.
  • --download_path - Especifica la ruta para descargar paquetes.

8. A continuación, verifique el contenido de sus directorios locales para garantizar que todos los paquetes se hayan sincronizado localmente.

# ls -l/var/www/html/repos/base/ # ls -l/var/www/html/repos/base/paquetes/ # ls -l/var/www/html/repos/centosplus/ # ls - l/var/www/html/repos/centosplus/paquetes/ # ls -l/var/www/html/repos/extras/ # ls -l/var/www/html/repos/extras/paquetes/ # ls -ls - # /var/www/html/repos/actualizaciones/ # ls -l/var/www/html/repos/actualizaciones/paquetes/ 

9. Ahora cree un nuevo repodata para los repositorios locales ejecutando los siguientes comandos, donde la bandera -gramo se utiliza para actualizar la información del grupo de paquetes utilizando el especificado .xml archivo.

# CREATEREPO -G COMPS.xml/var/www/html/repos/base/ # creeaterpo -g comps.xml/var/www/html/repos/centosplus/ # creeaterpo -g comps.xml/var/www/html/repos/extras/ # creeaterpo -g comps.xml/var/www/html/repos/actualizaciones/ 

10. Para habilitar la visualización de repositorios y paquetes en ellos, a través de un navegador web, cree un bloque de servidor NGINX que apunte a la raíz de sus repositorios como se muestra.

# vim/etc/nginx/conf.D/Repos.confusión 

Agregue el siguiente archivo de configuración OT repositar.confusión.

servidor escuchar 80; Repos de server_name.prueba.laboratorio; #prueba de cambio.laboratorio a su dominio real root/var/www/html/repos; ubicación / índice índice.índice de PHP.índice HTML.htm; autoindex on; #Listado de Directorio Index 

Guarde el archivo y cierre.

11. Luego reinicie su servidor NGINX y vea los repositorios desde un navegador web utilizando la siguiente URL.

http: // repos.prueba.laboratorio 
Ver repositorios locales de yum

Paso 3: Cree un trabajo cron para sincronizar y crear repositorios

12. A continuación, agregue un trabajo cron que sincronizará automáticamente sus repositorios locales con los reposos oficiales de Centos para obtener las actualizaciones y los parches de seguridad.

# vim /etc /cron.diario/actualización-Localrepos 

Agregue estos comandos en el script.

#!/bin/bash ## Especifique todos los repositorios locales en una sola variable local_rePos = ”actualizaciones de extras de centosplus base” ## un bucle para actualizar los repositorios uno a la vez para reposear en $ local_repos; do Reposync -g -l -d -m - -Repoid = $ Repo - -Newest -Only -download -Metadata -download_path =/var/www/html/repos/createPo -g comps.xml/var/www/html/repos/$ repo/done 

Guarde el script y cierre y establezca los permisos apropiados en él.

# Chmod 755 /etc /cron.diario/actualización-Localrepos 

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

13. Ahora en tu Cento Máquinas cliente, agregue sus reposterios locales a la configuración YUM.

# vim /etc /yum.repositar.D/Repos locales.repositorio 

Copie y pegue la configuración a continuación en el archivo Repos locales.repositorio (hacer cambios cuando sea necesario).

[Local-Base] Nombre = Centos Base BaseUrl = http: // repos.prueba.lab/base/gpgcheck = 0 habilitado = 1 [local-centosplus] nombre = centos centosplus baseUrl = http: // repos.prueba.lab/centosplus/gpgcheck = 0 habilitado = 1 [local-extras] name = centos extras baseurl = http: // repos.prueba.lab/extras/gpgcheck = 0 habilitado = 1 [local-actualizados] name = centos actualizaciones baseURL = http: // repos.prueba.laboratorio/ actualizaciones/ gpgcheck = 0 habilitado = 1 

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

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

# yum repolista o # yum repolista todo 
Ver repositorios locales de YUM en el cliente

Eso es todo! En este artículo, hemos explicado cómo establecer un repositorio de Yum local en Centos 7. Esperamos que hayas encontrado esta guía útil. Si tiene alguna pregunta o alguna otra idea para compartir, use el formulario de comentarios a continuación.