Como configurar o repositório local HTTP YUM no CentOS 7

Como configurar o repositório local HTTP YUM no CentOS 7

Um repositório de software (“repo”Em resumo) é um local central de armazenamento para manter e manter pacotes de software, dos quais os usuários podem recuperar pacotes e instalá -los em seus computadores.

Os repositórios são frequentemente armazenados em servidores em uma rede, por exemplo, uma Internet, que pode ser acessada por vários usuários. No entanto, você pode criar e configurar um repositório local no seu computador e acessá -lo como um único usuário ou permitir acesso a outras máquinas em seu LAN (Rede local).

Uma vantagem de configurar um repositório local é que você não precisa de uma conexão com a Internet para instalar pacotes de software.

Yum (YellowDog Updater Modified) é uma ferramenta de gerenciamento de pacotes amplamente usada para RPM (Redhat Package Manager) com base nos sistemas Linux, o que facilita a instalação do software em Red Hat/Centos Linux.

Neste artigo, explicaremos como configurar um local Yum repositório acima Http (Nginx) servidor da web em CENTOS 7 VPS e também mostre como encontrar e instalar pacotes de software no cliente CENTOS 7 máquinas.

Nosso ambiente de teste

Yum HTTP Repository Server: Centos 7 [192.168.0.100] Máquina cliente: Centos 7 [192.168.0.101] 

Etapa 1: Instale o Nginx Web Server

1. Primeiro começo instalando o servidor HTTP nginx do repositório EPEL usando o Yum Package Manager da seguinte maneira.

# yum install epel-l-lançamento # yum install nginx 

2. Depois de instalar o servidor da web nginx, você pode iniciá -lo pela primeira vez e ativá -lo para iniciar automaticamente na inicialização do sistema.

 # SystemCtl Iniciar nginx # SystemCtl Ativar nginx # Systemctl Status nginx 

3. Em seguida, você precisa abrir a porta 80 e 443 Para permitir o tráfego da Web para o serviço NGINX, atualize as regras do firewall do sistema para permitir pacotes de entrada em Http e Https Usando os comandos abaixo.

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

4. Agora você pode confirmar que seu servidor nginx está em funcionamento, usando o seguinte URL; Se você vir a página da web nginx padrão, tudo está bem.

http: // server_domain_name_or_ip 
Página padrão nginx

Etapa 2: Crie um repositório local YUM

5. Nesta etapa, você precisa instalar os pacotes necessários para criar, configurar e gerenciar seu repositório local.

# yum instalar creaceropepo yum-utils 

6. Em seguida, crie os diretórios necessários (repositórios YUM) que armazenarão pacotes e quaisquer informações relacionadas.

# mkdir -p/var/www/html/repos/base, centesplus, extras, atualizações 

7. Em seguida, use o reposync ferramenta para sincronizar CENTOS YUM repositórios para os diretórios locais, como mostrado.

# reposync -g -l -d -m --repoid = base -newest -somente -download -metadata -download_path =/var/www/html/repos/ # reposync -g -l -d -m - Repoid = CENTOSPLUS - -NEWEST -SLUM -DOWNLOAD -METADATA -DOWNLOAD_PATH =/var/www/html/repos/ # reposync -g -l -d -m --repoid = extras - -newest -somente -download- Metadata -download_path =/var/www/html/repos/ # reposync -g -l -d -m --repoid = atualizações - -newest -som -download -metadata -download_path =/var/www/html/ reposs/ 
Saída de amostra
Plugins carregados: RastestMirror, Langpacks Carregando velocidades de espelho do arquivo host em cache * Base: Espelhos.fiberGrid.Em * EPEL: espelho.Xeonbd.com * extras: espelhos.fiberGrid.Em * atualizações: espelhos.fiberGrid.Na base/7/x86_64/grupo | 891 KB 00:00:02 Nenhum metadado Presto disponível para 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 

Nos comandos acima, a opção:

  • -g - Permite a remoção de pacotes que falham na verificação da assinatura GPG após o download.
  • -eu - Ativa o suporte do plug -in do YUM.
  • -d - Ativa a exclusão de pacotes locais que não estão mais presentes no repositório.
  • -m - Ativa o download de compor.xml arquivos.
  • --reproid - Especifica o ID do repositório.
  • --somente mais recente - Diga ao Reposync para puxar apenas a versão mais recente de cada pacote nos repositórios.
  • --Download-metadata - Permite baixar todos os metadados que não são de zagueiro.
  • --download_path - Especifica o caminho para baixar pacotes.

8. Em seguida, verifique o conteúdo de seus diretórios locais para garantir que todos os pacotes tenham sido sincronizados localmente.

# ls -l/var/www/html/repos/base/ # ls -l/var/www/html/repos/base/packages/ # ls -l/var/www/html/repos/centosplus/ # ls - l/var/www/html/repos/CENTOSPLUS/packages/ # ls -l/var/www/html/repos/extras/ # ls -l/var/www/html/repos/extras/packages/ # ls -l /var/www/html/repos/atualizações/ # ls -l/var/www/html/repos/atualizações/pacotes/ 

9. Agora crie um novo repele -g é usado para atualizar as informações do grupo de pacotes usando o especificado .xml arquivo.

# CreaterEpo -g Comps.xml/var/www/html/repos/base/ # CreaterEpo -g Comps.xml/var/www/html/repos/CENTOSPLUS/ # CREPREPO -G COMPS.xml/var/www/html/repos/extras/ # CreaterEPO -g Comps.xml/var/www/html/repos/atualizações/ 

10. Para permitir a visualização de repositórios e pacotes neles, por meio de um navegador da web, crie um bloco de servidor nginx que aponta para a raiz de seus repositórios, como mostrado.

# vim/etc/nginx/conf.D/Repos.conf 

Adicione o seguinte arquivo de configuração OT Repos.conf.

servidor ouça 80; server_name repos.teste.laboratório; #Change Teste.laboratório para o seu domínio real root/var/www/html/repos; Localização / Índice Index.ÍNDICE PHP.Índice HTML.htm; AutoIndex ligado; #Listagem do índice de diretório 

Salve o arquivo e feche-o.

11. Em seguida, reinicie seu servidor nginx e visualize os repositórios de um navegador da web usando o seguinte URL.

http: // repos.teste.laboratório 
Veja repositórios locais YUM

Etapa 3: Crie um trabalho cron para sincronizar e criar repositórios

12. Em seguida, adicione um trabalho de cron que sincronizará automaticamente seus repositórios locais com os repositórios oficiais do CentOS para pegar as atualizações e patches de segurança.

# vim /etc /cron.diariamente/atualização-localrepos 

Adicione esses comandos no script.

#!/bin/bash ## Especifique todos os repositórios locais em uma única variável local_repos = ”Atualizações de extras do CENTOSPLUS BASE” ## Um loop para atualizar os repositórios um por vez para repo em $ local_repos; do reposync -g -l -d -m --repoid = $ repo - -newest -somente -download -metadata -download_path =/var/www/html/repos/createropepo -g.xml/var/www/html/repos/$ repo/feito 

Salve o script e feche -o e defina as permissões apropriadas nele.

# chmod 755 /etc /cron.diariamente/atualização-localrepos 

Etapa 4: Configure o repositório YUM local em máquinas clientes

13. Agora no seu CENTOS Máquinas clientes, adicione seus repositórios locais à configuração do YUM.

# vim /etc /yum.Repos.D/Repos Local.repo 

Copie e cole a configuração abaixo no arquivo Repos Local.repo (faça alterações sempre que necessário).

[Base local] Nome = Base BaseUrl = http: // repositórios.teste.lab/base/gpgCheck = 0 habilitado = 1 [local-centosplus] nome = CENTOSCUSPUS BASEURL = http: // repos.teste.lab/centosplus/gpgcheck = 0 habilitado = 1 [local-extras] nome = centos extras baseurl = http: // repos.teste.lab/extras/gpgCheck = 0 habilitado = 1 [updates local] nome = atualizações do CentOS BASEURL = http: // repos.teste.Lab/ atualizações/ gpgcheck = 0 habilitado = 1 

Salve o arquivo e comece a usar seus espelhos Yum local.

14. Em seguida, execute o seguinte comando para visualizar seus repositórios locais na lista de repositórios YUM disponíveis, nas máquinas clientes.

# yum repolista ou # yum repolista 
Veja repositórios YUM locais no cliente

Isso é tudo! Neste artigo, explicamos como configurar um repositório YUM local no CentOS 7. Esperamos que você tenha achado este guia útil. Se você tiver alguma dúvida ou qualquer outro pensamento para compartilhar, use o formulário de comentário abaixo.