Pesquisa de site

Como criar um repositório HTTP local Yum/DNF no RHEL 8


Um repositório de software ou “repo” é um local central para manter e manter pacotes de software RPM para distribuição Redhat Linux, a partir do qual os usuários podem baixar e instalar pacotes em seus servidores Linux.

Os repositórios geralmente são armazenados em uma rede pública, que pode ser acessada por vários usuários na internet. No entanto, você pode criar seu próprio repositório local em seu servidor e acessá-lo como um único usuário ou permitir acesso a outras máquinas em sua LAN (Rede Local) local usando um servidor web HTTP.

A vantagem de criar um repositório local é que você não precisa de conexão com a Internet para instalar pacotes de software ou atualizações.

YUM (Yellowdog Updater Modified) ou DNF (Dandified YUM) é um utilitário de gerenciamento de pacotes de software amplamente usado para sistemas Linux baseados em RPM (RedHat Package Manager), que facilita a instalação de software no Red Hat/CentOS Linux.

Neste artigo, explicaremos como configurar um repositório YUM/DNF local no RHEL 8 usando o DVD de instalação ou arquivo ISO. Também mostraremos como encontrar e instalar pacotes de software em máquinas clientes RHEL 8 usando o servidor Nginx HTTP.

Nosso ambiente de testes

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

Etapa 1: instalar o servidor Web Nginx

1. Primeiro, instale o servidor Nginx HTTP usando o gerenciador de pacotes DNF da seguinte maneira.

dnf install nginx

2. Uma vez instalado o Nginx, você pode iniciar, ativar o serviço para iniciar automaticamente no momento da inicialização e verificar o status usando os seguintes comandos.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Em seguida, você precisa abrir as portas Nginx 80 e 443 em seu firewall.

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

4. Agora você pode verificar se seu servidor Nginx está instalado e funcionando acessando o seguinte URL em seu navegador, uma página da web padrão do Nginx será exibida.

http://SERVER_DOMAIN_NAME_OR_IP

Etapa 2: Montagem do DVD/arquivo ISO de instalação do RHEL 8

5. Crie um ponto de montagem do repositório local no diretório raiz do documento Nginx /var/www/html/ e monte o RHEL 8 baixado Imagem ISO do DVD no diretório /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. Em seguida, copie os arquivos ISO localmente no diretório /var/www/html/local_repo e verifique o conteúdo usando o comando ls.

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

Etapa 3: configurando o repositório local

7. Agora é hora de configurar o repositório local. Você precisa criar o arquivo de configuração do repositório local no diretório /etc/yum.repos.d/ e definir as permissões apropriadas no arquivo conforme mostrado.

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

8. Em seguida, abra o arquivo para edição usando seu editor de texto de linha de comando favorito.

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

9. Copie e cole o seguinte conteúdo no arquivo.

[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

Salve as alterações e saia do arquivo.

10. Agora você precisa instalar os pacotes necessários para criar, configurar e gerenciar seu repositório local executando o seguinte comando.

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

Etapa 4: testando o repositório local

11. Nesta etapa, você deve executar uma limpeza dos arquivos temporários mantidos nos repositórios usando o seguinte comando.

yum clean all
OR
dnf clean all

12. Em seguida, verifique se os repositórios criados aparecem na lista de repositórios habilitados.

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

13. Agora tente instalar um pacote dos repositórios locais, por exemplo, instale a ferramenta de linha de comando Git da seguinte maneira:

dnf install git

Observando a saída do comando acima, o pacote git está sendo instalado a partir do repositório LocalRepo_AppStream conforme mostrado na captura de tela. Isso prova que os repositórios locais estão habilitados e funcionando bem.

Etapa 5: configurar o repositório Yum local em máquinas clientes

14. Agora em suas máquinas clientes RHEL 8, adicione seus repositórios locais à configuração YUM.

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

Copie e cole a configuração abaixo no arquivo. Certifique-se de substituir baseurl pelo endereço IP ou domínio do seu 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

Salve o arquivo e comece a usar seus espelhos YUM locais.

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

dnf repolist

Isso é tudo! Neste artigo, mostramos como criar um repositório YUM/DNF local no RHEL 8, usando o DVD de instalação ou arquivo ISO. Não se esqueça de entrar em contato conosco através do formulário de feedback abaixo para quaisquer perguntas ou comentários.