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

Por: Ricardo Katz em 07/11/2009


Finalmente! Realizando a atualização dos repositórios



Para realizar a atualização dos repositórios basta executar o comando mrepo, sendo os suas opções principais:

mrepo 	OPÇÕES 		Arquitetura

  -f, --force           Força a geração nova do 
                        repositório a cada 
                        execução (createrepo).

  -g, --generate        Cria os diretórios, caso 
                        não existam.

  -n, --dry-run         O que será feito
  -q, --quiet           Modo silencioso
      --remount         Remontar as ISOs
  -u, --update          Baixar atualizações
  -v, --verbose         Verbosity (Debug)
      --unmount         Desmontar as ISOS

Para uma primeira execução, é interessante executar o mrepo com o comando:

# mrepo -fugvvv

Esse comando irá criar os repositórios, montar as ISOs, baixar as atualizações (pode demorar um bocado!).

Ao final teremos a estrutura de diretório:
  • srcdir/nome_repositorio/updates (Como /mrepo/centos5-i386/updates)
  • wwwdir/nome_repositorio/RPMS.os e RPMS.updates (Como /var/www/html/centos5-i386/RPMS.updates).

Esses diretórios / URLs serão utilizados nos arquivos de configuração de repositórios dos clientes, para efetuar instalações, atualizações etc.

Após verificar que tudo está funcionando corretamente, o mrepo pode passar (pelo menos, eu prefiro!) a ser chamado apenas com "mrepo -fug". A execução desse comando pode ser agendada, por exemplo, diariamente às 23:00 da noite.

Após todas essas configurações, podemos configurar no /etc/yum.repos.d dos clientes um arquivo .repo, contendo as configurações adequadas de repositório.

Por exemplo:

[base]
name=RHEL-5.4 - Base
baseurl=http://IP_Servidor_Web/rhel5-x86_64/RPMS.os
enabled=1
gpgcheck=0

[updates]
name=RHEL-5.4 - Updates
baseurl=http://IP_Servidor_Web/rhel5-x86_64/RPMS.updates
enabled=1
gpgcheck=0

E executar um yum update, por exemplo, verificando o correto funcionamento de nosso repositório.

Conclusões

O MRepo pode ser uma mão na roda, facilitando a criação de repositórios para diversas utilidades e distribuições.

Deve ser utilizada como uma ferramenta essencial para garantir que seu parque de servidores esteja sempre atualizado, e para auxiliar na economia de utilização de banda.

Diversos recursos extras (como a criação de repositórios que não sejam diretamente relacionados ao sistema, como um non-free ou até outros, a criação de instalações sem utilização de discos) podem ser utilizados com o uso dessa ferramenta, contudo, o empurrão básico já foi dado!

Espero ter ajudado. :)

Página anterior    

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

Como acessar outras máquinas Linux remotamente

A história do ogg na web

Software Livre e Matemática Financeira

Como usar o Bugzilla do Sabayon

Aprisionamento Tecnológico

  
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