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.787 ]

Por: Ricardo Katz em 07/11/2009


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



No caso da utilização do CentOS como servidor de mirror, alguns procedimentos são necessários antes da atualização de RedHats, de modo que a máquina possa se logar na RHN.

1) Gerar um uuid e atualizar o arquivo de UUID

Esse procedimento é feito com o comando uuidgen, sendo a saída semelhante a:

# uuidgen
e38cb8e7-53d0-4f88-aa6e-39d55091cab7

Essa string deverá ser inserida no arquivo /etc/sysconfig/rhn/up2date-uuid, conforme abaixo:

uuid[comment]=Universally Unique ID for this server
rhnuuid=e38cb8e7-53d0-4f88-aa6e-39d55091cab7

Também deve ser executado o comando:

# echo 'up2date default' >> /etc/sysconfig/rhn/sources

2) Baixar o certificado da CA da RHN para o diretório /usr/share/rhn:

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


3) Deve-se gerar um System ID para ser utilizado na RHN. Esse System ID pode ser criado com o comando gensystemid, sendo sua sintaxe:

gensystemid -u USUARIO_RHN -p SENHA_RHN -r RELEASE -a ARQUITETURA SRCDIR

Por exemplo:

# gensystemid -u USUARIO_RHN -p SENHA_RHN -r 5Server -a i386 /mrepo/rhel5-i386 (para x86)

# gensystemid -u USUARIO_RHN -p SENHA_RHN -r 5Server -a x86_64 /mrepo/rhel5-x86_64 (para 64 bits)

O comando deve ser executado para cada arquitetura que deseja-se atualizar.

Do mesmo modo do CentOS, um arquivo semelhante, com configuração do RedHat é o seguinte (/etc/mrepo.conf.d/redhat.conf):

[rhel5-i386]
name = Red Hat $release Server ($arch)
release = 5
arch = i386
metadata = yum repomd
iso = /mrepo/rhel5-i386/rhel-server-5.4-i386-dvd.iso
updates = rhns:///rhel-$arch-server-5

## rhel 5 x86_64
[rhel5-x86_64]
name = Red Hat $release Server ($arch)
release = 5
metadata = yum repomd
arch = x86_64
iso = /mrepo/rhel5-x86_64/rhel-server-5.4-x86_64-dvd.iso
updates = rhns:///rhel-$arch-server-5

A única diferença fica na diretiva "updates", onde o protocolo utilizado é rhns (RHN Secure), e após o Logon ele se utiliza da biblioteca XML Rpc para comunicação com a RHN e download das atualizações.

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.

Três "detalhes" devem ser observados nesse processo:

1) É necessária uma conta na RHN (RedHat Network) e que será configurada no [main], na diretiva rhnlogin.

2) No caso do RedHat, todos os RPMs são baixados, existindo um alto consumo de banda. Porém, após feito o download uma vez, nas vezes seguintes apenas as atualizações são baixadas.

3) Em caso de uso excessivo do recurso de Download, a Red Hat pode considerar um Abuse Of Service e bloquear a conta RHN do usuário, sendo necessário entrar em contato com a empresa solicitando o desbloqueio.

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

Instalando o PostgreSQL no Slackware

SuperGRUB - Perdeu a MBR? Recupere-a com este programa

Eu aprendi!

Esteganografia - Lendo o que os olhos não conseguem ler

Instalando o Slackware em um P100 com 16 RAM

  
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