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

Por: Ricardo Katz em 07/11/2009


Configuração global do MRepo



Vamos à configuração do MRepo:

Antes de mais nada, não se assuste e nem ache que está faltando coisa! Essa é a primeira parte da configuração. Na parte seguinte teremos a configuração do repositório propriamente dita.

Com todos os arquivos em seus devidos lugares, as ISOs nos diretórios corretos (/mrepo/centos5-i386 para o Centos x86, por exemplo), o arquivo de configuração (/etc/mrepo.conf) fica semelhante a:

[main]
srcdir = /mrepo/
wwwdir = /var/www/html
confdir = /etc/mrepo.conf.d
arch = i386 x86_64
rhnlogin = usuario_rhn:senha_rhn
shareiso = yes

# Caminho de cada binário
createrepocmd = /usr/bin/createrepo
genbasedircmd = /usr/bin/genbasedir
hardlinkcmd = /usr/sbin/hardlink
hardlinkpluscmd = /usr/bin/hardlink++
lftpcmd = /usr/bin/lftp
mirrordircmd = /usr/bin/mirrordir
mountcmd = /bin/mount
repoviewcmd = /usr/bin/repoview
rhngetcmd = /usr/bin/rhnget
rsynccmd = /usr/bin/rsync
umountcmd = /bin/umount
yumarchcmd = /usr/bin/yum-arch

Explicando esse arquivo:

1) Parte [main] indica a configuração global:
  • Diretiva srcdir - Define o nosso Source dir (lembra, comentado no começo do arquivo, onde ficará o ISO e os RPMs).
  • Diretiva wwwdir - Onde ficará o nosso repositório, disponibilizado pelo servidor Web.
  • Diretiva confdir - Diretório de configurações específicas / repositórios.
  • Diretiva arch - Arquitetura servida pelo servidor (i386, x86_64, pcc por exemplo).
  • Diretiva rhnlogin - Preste atenção, essa diretiva é OPCIONAL, e deve ser inserida caso você opte por servir atualizações para sistemas RedHat (que dependem de um login na RHN - Veremos como configurar esse recurso adiante).
  • Diretiva shareiso - Determina se o ISO deve ser compartilhado, ou seja, se os RPMs existentes no ISO (que será configurado adiante) devem ser considerados os RPMs base, por exemplo. Por algum motivo do além, o Red Hat baixa novamente todas as RPMs, enquanto que o CentOS consegue distinguir as RPMs base dos Updates, baixando apenas as mudanças (se alguém souber o porque, eu agradeço !).

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

Clustering em Casa

GSlapt - Gerenciando os pacotes de seu Slackware

PORTAGE - Gerenciamento de pacotes no Gentoo Linux

Entendento o comando chmod

LiveCDs versus D.Q.R.E.Cs

  
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