DevSecOpsARTIGO

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

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 artigo, vamos 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

# yum install -y createrepo

2. Construir a estrutura do repositório

# mkdir -p /var/www/html/centos/5.4/{os,updates}/{i386}/

3. Criar link simbólico

# ln -s /var/www/html/centos/5.4 /var/www/html/centos/5

4. Montar a ISO

# mount -o loop /local_da_ISO/CentOS-5.4-i386-bin-DVD.iso /mnt

5. Copiar os arquivos

# cp -r /mnt/* /var/www/html/centos/5.4/os/i386

6. Criar o índice dos arquivos

# 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:

# 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<br /><br />	/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"<br /><br />	/usr/bin/createrepo --update /var/www/html/centos/5.4/updates/i386

8. Agendar script

# 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:

	# 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]<br /><br />	name=CentOS-$releasever - Base<br /><br />	baseurl=http://ip_do_servidor/centos/5.4/os/i386/<br /><br />	gpgcheck=1<br /><br />	gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5<br /><br />	[updates]<br /><br />	name=CentOS-$releasever - Updates<br /><br />	baseurl=http://ip_do_servidor/centos/5.4/updates/i386/<br /><br />	gpgcheck=1<br /><br />	gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

10. Prova dos nove

  • Para atualização
# yum update
  • Para pesquisa
# yum search pacote
  • Para instalação
# yum install pacote

Até o próximo artigo!

:wq!

é sócio da Somar Soluções Inteligentes, onde trabalha com infra-estrutura, virtualização e telefonia IP. Graduado em Gestão de Redes de Computadores, tem mais de 9 anos de experiência em tecnologia da informação e certificações MCP, MCSA, MCTS e MCITP. Vive atualmente em SP e é apaixonado por tecnologia.

Ver perfil