CentOS 5.4 – Criando um repositório local em 10 passos

Publicado: novembro 26, 2009 em CentOS
Tags:, ,

Introdução

Em qualquer rede de computadores, sempre existe a necessidade de atualização do sistema operacional, aplicativos, etc. É comum cada computador baixar as atualizações diretamente da internet, porém esta não é uma boa prática, pois causa degradação no link impactando nos demais serviços da rede.

O ideal é criar um servidor que irá buscar atualizações na internet, de preferência fora do horário de expediente para que o link esteja disponível para outros fins. Uma vez configurado este servidor (repositório local), não haverá mais a necessidade dos demais computadores acessarem a internet para procurar por atualizações, basta configurar os computadores para acessar o repositório local.

Neste tutorial irei instalar um repositório local do CentOS 5.4 para a arquitetura i386.

Pré-requisitos

Servidor Web – É necessário um servidor web instalado, que pode ser Apache ou outro qualquer, para que a máquina cliente tenha acesso ao repositório.
ISOs – A base do repositório será criada a partir dos arquivos contidos na ISO, de acordo com cada arquitetura. Neste exemplo será utilizada a ISO do CentOS 5.4 i386.
Createrepo – O comando createrepo cria informações de repositório utilizadas pelo yum, e armazena estes dados numa pasta chamada repodata.

Informações Gerais

Sistema Operacional: CentOS 5.4
Hardware: Hp Compaq dc5850
Hd: SATA 250 GB
Memória: 2048 MB

Mãos à obra!

1. Instalar o pacote createrepo

[root@labs ~]# yum install -y createrepo

2. Construir a estrutura do repositório

[root@labs ~]# mkdir -p /var/www/html/centos/5.4/{os,updates}/{i386}/

3. Criar link simbólico

[root@labs ~]# ln -s /var/www/html/centos/5.4 /var/www/html/centos/5

4. Montar a ISO

[root@labs ~]# mount -o loop /local_da_ISO/CentOS-5.4-i386-bin-DVD.iso /mnt

5. Copiar os arquivos

[root@labs ~]# cp -r /mnt/* /var/www/html/centos/5.4/os/i386

6. Criar o índice dos arquivos

[root@labs ~]# createrepo /var/www/html/centos/5.4/os/i386

O comando acima cria o diretório repodata, com os seguintes arquivos:
filelists.xml.gz
other.xml.gz
primary.xml.gz
repomd.xml
O yum checa se há alterações nesses arquivos e baixa para um cache local para consultar se o pacote desejado existe no repositório.
O comando abaixo limpa o cache do yum:

[root@labs ~]# yum clean all

7. Criar script para sincronizar o diretório de updates
Abaixo o conteúdo do script sync_repo.sh que será criado no diretório /root:

#!/bin/bash
/usr/bin/rsync -avrt rsync://mirror.unl.edu/centos/5.4/updates/i386/ --exclude=debug /var/www/html/centos/5.4/updates/i386 | /bin/mail seuemail@seuprovedor.com -s “New updates”
/usr/bin/createrepo --update /var/www/html/centos/5.4/updates/i386

8. Agendar script

[root@labs ~]# vim /etc/crontab

Adicione a linha abaixo:

0	0	*	*	*	root	/root/sync_repo.sh

O script sync_repo.sh será executado todos os dias às 00:00.

9. Configurar os clientes
Primeiramente, faça um backup do arquivo CentOS-Base.repo:

[root@tico ~]# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bkp

Abaixo o conteúdo do arquivo CentOS-Base.repo, localizado em /etc/yum.repos.d:

[base]
name=CentOS-$releasever - Base
baseurl=http://ip_do_servidor/centos/5.4/os/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[updates]
name=CentOS-$releasever - Updates
baseurl=http://ip_do_servidor/centos/5.4/updates/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

10. Prova dos nove
Para atualização

[root@tico ~]# yum update

Para pesquisa

[root@tico ~]# yum search pacote

Para instalação

[root@tico ~]# yum install pacote

:wq!
Andrey Smith
http://www.provecursos.com.br

comentários
  1. Maicon Buzatti disse:

    parabéns excelente artigo ajudou meu trabalho
    Maicon Buzatti

    Curtir

  2. Andrey Smith disse:

    Fico feliz em saber que ajudou… A intenção é essa!

    []s
    Andrey Smith

    Curtir

  3. Leandro Costa disse:

    Andrey,

    posso publicar o seu artigo de criação de repositorio e asterisk no site do centosbr.org.
    Com todos os creditos a sua pessoa !!!

    grato
    Leandro Costa

    Curtir

  4. Andrey Smith disse:

    Olá Leandro, mande-me o link depois.
    []s

    Curtir

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s