Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux



» Screenshot
Linux: Ubuntu 9.04 com tema Linux Mint
Por ferezini
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper


Artigo

Criação de um repositório (mrepo) - Red Hat e CentOS 5 (com atualização na RHN para RedHat)
Linux user
rikatz
07/11/2009
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.
Por: Ricardo Katz
[ Hits: 3054 ]
Conceito: 10.0   2 voto(s)2 voto(s)2 voto(s)2 voto(s)2 voto(s) + quero dar nota ao artigo

Introdução

Hoje a distribuição comercial (paga) mais utilizada é a Red Hat. Junto com ela e a disponibilização de seu código fonte (SRPMs), temos distribuições que são recompilações do Red Hat, sendo a principal a CentOS.

Muitos administradores se vêem em posições pouco confortáveis quando trata-se da atualização de seus sistemas operacionais pelo motivo do alto consumo de banda que essas atualizações geram.

Apesar de existirem métodos não descartados para criação e otimização dessa banda, tal como a criação de um repositório local utilizando-se do RSYNC (o MREPO faz isso automaticamente) ou utilizando-se de algum cache Squid, o mrepo mostrou-se como uma solução avançada para esses casos, pois:

1) Criado pela DAG, suporta protocolos para atualização como FTP, HTTP, RSYNC, SFTP, YOU e RHN (assim, havendo uma licença válida de Red Hat, podemos criar um mirror local de atualização do mesmo).

2) Escrito em python, de fácil leitura e alteração

3) Apesar desse artigo falar de YUM (CentOS e RedHat), ele pode disponibilizar repositórios APT, UP2Date etc.

4) Faz a montagem de imagens ISO para a disponibilização dos RPMs Base

Entre muitos outros, vide em: http://dag.wieers.com/home-made/mrepo/

Pré-requisitos

O Mrepo possui alguns pré requisitos para funcionar, sendo:

1) Apache (ou outro servidor Web) instalado.

O servidor Apache (ou outro servidor Web qualquer) deve estar instalado para disponibilizar ao repositório para os clientes. A instalação do Apache não será abordada nesse artigo, devendo apenas estar claro que o DocumentRoot em questão (do VirtualHost ou padrão) deverá apontar para o diretório que será disponibilizado pelo mrepo.

Para fins de melhor entendimento, utilizaremos como referência à esse diretório a palavra "wwwdir".

No meu caso, o wwwdir será o diretório /var/www/html.

2) Bibliotecas do RHN / Yum e bibliotecas python instaladas

O mrepo tem uma série de dependências para instalação que não são documentadas e/ou cobradas durante a instalação do RPM, sendo elas:
  • Python - Geralmente já vem instalado por padrão.
  • Pacote rpm-build - Instalado através do comando "yum install rpm-build"
  • Pacote createrepo - Instalado através do comando "yum install createrepo"
  • Bibliotecas do RHN - Geralmente essas bibliotecas já vem instaladas no CentOS 5 (caso você opte por utilizar o mesmo e não o Red Hat) e não precisam ser instaladas.
  • Bibliotecas Python - As seguintes bibliotecas Python (instaláveis via Yum) são necessárias:

    a) pyOpenSSL - Deve ser instalada com o comando yum install pyOpenSSL
    b) PyXML - Deve ser instalada com o comando yum install PyXML

3) ISOs do sistema que você deseja servir (por exemplo, ISO do CentOS 5.4 x86 etc).

As ISOs são importantes para a disponibilização do repositório base (conteúdo do CD na instalação). Como por exemplo ao executar um yum install, pode ser que o pacote exista no CD / DVD de instalação e apenas não tenha sido instalado, a presença do ISO supre essa necessidade.

Por exemplo, para o meu laboratório foram utilizadas imagens ISO do Red Hat 5.4 (x86 e x86_64) e CentOS 5.4 (idem!).

As imagens devem ser salvas no que definiremos, por hora, como "srcdir", ou seja, o diretório onde ficarão os fontes. Apenas para agilizarmos (será explicado adiante), o diretório "/mrepo" pode ser definido como o "srcdir". Os ISOs devem ser disponibilizados no diretório "/srcdir/DistroVersao-arquitetura", por exemplo, /mrepo/centos5-i386 e /mrepo/rhel5-x86_64.

Próxima página >>


Páginas do artigo

Outros artigos deste autor
Nenhum artigo encontrado.

Leitura recomendada

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.

:)


Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Copyleft 2002-2009 Viva o Linux.com.br

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.