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 instalarei 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;
- ISO do CentOS- 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 /mnt/* /var/www/html/centos/5.4/os/i386
6. Criar o repositório:
# createrepo /var/www/html/centos/5.4/os/i386
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/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.
Faça antes um backup do arquivo:
# cp -p /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.orig
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/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[updates]
name=CentOS-$releasever - Updates
baseurl=http://ip_do_servidor/centos/$releasever/updates/$basearch/
gpgcheck=1
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]
:wq!
Andrey Smith