Esse artigo descreve a criação de um repositório para Red Hat e CentOS utilizando a ferramenta mrepo. Demonstra também como mantê-lo atualizado, mediante a utilização de uma conta válida na RHN, para distribuição local de atualizações.
A configuração de arquivos do repositório (feita em /etc/mrepo.conf.d) é feita de modo que o nome de cada diretório (contido entre os caracteres [ e ]) gerará um diretório com esse nome no wwwdir e utilizará o srcdir/nome_repositorio/ como base (principalmente no caso do RedHat, que como veremos adiante, irá buscar sua ID RHN nesse diretório).
Assim, um arquivo exemplo de configuração (/etc/mrepo.conf.d/centos.conf) é o seguinte:
[centos5-x86_64] é o identificador do repositório, que conforme dito anteriormente, será utilizado no nome dos diretórios em wwwdir e srcdir. Enquanto que no srcdir já criamos esse diretório para disponibilização da ISO, no wwwdir esse diretório é criado automaticamente na primeira execução do MRepo.
name - Nome do repositório.
Release - Versão (release) disponibilizada, no nosso caso a Release (Major Version) é a 5.
metadata - Formato de metadados gerados após o Download, no meu caso o primário é o yum (createrepo, criando o diretório repodata).
arch - Arquitetura a qual representa o repositório.
iso - Caminho completo da localização da imagem ISO. Essa imagem será montada em loop, para disponibilização das RPMS.
updates - Caminho completo dos updates. Veja que estamos utilizando o protocolo rsync, e o mrepo entende que deve ir no repositório rsync e fazer a sincronização apenas dos arquivos diferentes.
Cada [nome] representa um repositório diferente, podendo todos estarem no /etc/mrepo.conf ou separados em arquivos no /etc/mrepo.conf.d.
[4] Comentário enviado por rikatz em 10/11/2009 - 13:53h
Olá Jack:
Veja uma coisa pra mim:
No repositório do Red Hat, por exemplo você terá dois diretórios...o RPMS.os e o RPMS.updates.
Aqui no meu caso, o RPMS.os contém kernel-2.6.18-164.el5.i686.rpm e o RPMS.updates kernel-2.6.18-164.6.1.el5.i686.rpm
Se não tiver (ou seja, não ta baixando atualização mesmo), dê uma olhada no início, no momento do login se a RHN não retorna alguma mensagem de erro, como avisando que sua conta está desabilitada, não possui mais licenças, user/senha incorretos :)
Aconteceu aqui comigo, eu tive que desabilitar uma licença de um servidor para fazer o registro do meu servidor de repositórios.
[5] Comentário enviado por jackadamantina em 10/11/2009 - 14:10h
Beleza,
Agora parece que está quase funcionando, no entanto ele baixa
Reading config file /etc/mrepo.conf.d/redhat.conf
Setting option arch in section [rhel-5-current] to: i386
rhel-5-current-i386: Updating Red Hat Server 5 Current (i386)
rhel-5-current-i386: Mirror packages from rhns:///rhel-i386-server-fastrack-5 to /mrepo/rhel-5-current-i386/fastrack
aspell-nl-0.1e-2.el5.i386.r ########################## Done.
authconfig-5.3.21-6.el5.i38 authconfig-5.3.21-6.el5.i38 authconfig-5.3.21-6.el5.i38 rhnget: CommunicationError: Error downloading package authconfig-5.3.21-6.el5.i386.rpm from rhel-i386-server-fastrack-5. Skipping.
Error communicating with server. The message was:
Forbidden
authconfig-gtk-5.3.21-6.el5 authconfig-gtk-5.3.21-6.el5 authconfig-gtk-5.3.21-6.el5 rhnget: CommunicationError: Error downloading package authconfig-gtk-5.3.21-6.el5.i386.rpm from rhel-i386-server-fastrack-5. Skipping.
Error communicating with server. The message was:
Forbidden
authd-1.4.3-14.i386.rpm: authd-1.4.3-14.i386.rpm: authd-1.4.3-14.i386.rpm: rhnget: CommunicationError: Error downloading package authd-1.4.3-14.i386.rpm from rhel-i386-server-fastrack-5. Skipping.
Error communicating with server. The message was:
Forbidden
avahi-0.6.16-6.el5.i386.rpm avahi-0.6.16-6.el5.i386.rpm avahi-0.6.16-6.el5.i386.rpm rhnget: CommunicationError: Error downloading package avahi-0.6.16-6.el5.i386.rpm from rhel-i386-server-fastrack-5. Skipping.
[6] Comentário enviado por rikatz em 10/11/2009 - 14:23h
Hum, c ta rodando como root? Estranho ele dar isso, aqui eu não tive esse problema não...Tenta fazer o download direto da RHN e ve se funciona, por exemplo (ou se ele também te dá um Forbidden)
[7] Comentário enviado por efcunha em 05/03/2010 - 15:00h
Este tendo o sequinte erro nas maquinas onde tento atualizar.
[root@apps yum.repos.d]# yum update
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled. http://172.16.1.18/rhel5-x86_64/RPMS.os/repodata/repomd.xml: [Errno 14] HTTP Error 404: Not Found
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again
[8] Comentário enviado por erik.costa em 30/03/2011 - 09:50h
@efcunha Rapaz, erro 404 o apache não tá encontrando o arquivo, tente acessar o repositório pelo browser pra ver se chega. Isso deve ser configuração do httpd.conf
@rikatz Otimo artigo, funcionou beleza aqui pra atualizar na RedHat! Isso resolve de uma vez o problema com a banda pra atualizações de SO. Valeu!
[10] Comentário enviado por rikatz em 30/10/2013 - 18:06h
Fala Rodrigao!
Cara, duas soluções:
1) Muda em todas as linhas do repositório Red Hat 'rhns:///' pra 'rhn:///'
2) Pega uma máquina que esteja em Red Hat 5.5 ou acima, e pega o arquivo /usr/share/rhn/RHNS-CA-CERT e copia pro seu servidor de repositório.