Criação de um repositório (mrepo) - Red Hat e CentOS 5 (com atualização na RHN para RedHat)

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.

[ Hits: 51.813 ]

Por: Ricardo Katz em 07/11/2009


Configuração de arquivos de repositório (CentOS)



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-i386]
name = CentOS $release ($arch)
release = 5
metadata = yum repomd
arch = i386
iso = /mrepo/centos5-i386/CentOS-5.4-i386-bin-DVD.iso
updates = rsync://centos.mirrors.tds.net/CentOS/$release/updates/i386/

## centos 5 x86_64
[centos5-x86_64]
name = CentOS $release ($arch)
release = 5
metadata = yum repomd
arch = x86_64
iso = /mrepo/centos5-x86_64/CentOS-5.4-x86_64-bin-DVD.iso
updates = rsync://centos.mirrors.tds.net/CentOS/$release/updates/x86_64/

Explicando o arquivo:
  • [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.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação do MRepo
   3. Configuração global do MRepo
   4. Configuração de arquivos de repositório (CentOS)
   5. Configuração de arquivos de repositório (RedHat)
   6. Finalmente! Realizando a atualização dos repositórios
Outros artigos deste autor

Autenticação de servidores CentOS/Red Hat 6 em Windows 2008

Leitura recomendada

Instalação do Xen no Debian Squeeze

Compartilhando o Terminal

Wake-on-LAN (WOL) utilizando Netcat - Dissecando o protocolo

A importância do ensino de Arte Digital nas comunidades da periferia de São Paulo

Software Livre... e um passo além

  
Comentários
[1] Comentário enviado por amandahla em 09/11/2009 - 07:43h

Muito bom!!!! :)

[2] Comentário enviado por jackadamantina em 09/11/2009 - 17:39h

Belo artigo rapaz,

Mas fiz como havia mencionado, e um problema surgiu.

Como você fez para resolver o problema do rhnget, que aponta para o up2date. Afinal no redhat 5 não há o up2date.

Grato.

[3] Comentário enviado por jackadamantina em 10/11/2009 - 13:35h

Muito bem, depois de instalado e tudo..blz..

No enttanto ele não tem baixado nenhuma das atualizações, mesmo tento criado todos os diretórios e adicionados os arquivos .xml e demais arquivos.

Mas o problema é que não baixa os arquivos rpm's, mesmo ele mostrando que existem 2000 e poucos arquivos...o que faço?

2393/2399 - gimp-data-extras-2.0.1-1.1.1.noarch.rpm
2394/2399 - fonts-hindi-2.3.1-1.el5.noarch.rpm
2395/2399 - gdk-pixbuf-devel-0.22.0-25.el5.i386.rpm
2396/2399 - xorg-x11-fonts-syriac-7.1-2.1.el5.noarch.rpm
2397/2399 - compat-libstdc++-33-3.2.3-61.i386.rpm
2398/2399 - Global_File_System-kn-IN-5.2-1.noarch.rpm
2399/2399 - libsemanage-1.9.1-4.4.el5.i386.rpm

Saving Primary metadata
Saving file lists metadata
Saving other metadata
rhel5-i386: Create repomd repository for rhns

Saving Primary metadata
Saving file lists metadata
Saving other metadata


Utilizei o comando mrepo -fugvvv

[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.

Ats

[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)

às vezes eh problema da própria RHN.

:)

[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!

[9] Comentário enviado por rodmonte em 24/10/2013 - 12:50h

Fala, Katz!

Parabéns pelo artigo!

Estou tentando reproduzir suas instruções aqui mas está rolando um problema. No passo:

# wget -O /usr/share/rhn/RHNS-CA-CERT http://rhn.redhat.com/help/RHNS-CA-CERT

Está sendo gerado um html e não o certificado. Esse certificado não está sendo disponibilizado em outro lugar, não?

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.

Ats


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts