Muitas vezes é de extrema utilidade que você faça o seu próprio repositório, para evitar o download de repositórios remotos o tempo todo. No caso da empresa que trabalho, onde instalamos servidores toda semana, seria um grande desperdício de banda!
Para evitar isso, criei um repositório YUM para as versões que mais trabalhamos: CentOS 4.5 e 5 (32 e 64 bits).
Siga os passos abaixo para criar o seu próprio:
Crie os diretórios:
mkdir -pv /var/www/html/centos/<DISTRO>/<ARQ>/{base,updates}
Nota: Substitua <DISTRO> pela versão que você vai fazer o repositório e <ARQ> pela arquitetura do sistema.
Ex.: mkdir -pv /var/www/html/centos/5/x86_64/{base,updates}
O Repositório Base
Copie os RPMS dos CDs/DVD para o diretório base de sua distribuição (/var/www/html/centos/<DISTRO>/<ARQ>/base)
Crie os cabeçalhos para o repositório base:
createrepo /var/www/html/centos/<DISTRO>/<ARQ>/base
Faça a sincronia com um mirror oficial do CentOS para os updates. Abaixo, um exemplo para CentOS 5 64bits:
rsync -avrt rsync://rsync.gtbli.gatech.edu/centos/5/updates/x86_64/ /var/www/html/centos/5/x86_64/updates/
Após isto, o seu repositório está pronto e atualizado! Recomendo criar uma entrada no cron para que esta sincronização ocorra todos os dias, mantendo seu repositório local sempre atualizado.
Agora, nos servidores que você necessita as atualizações, você deve fazer o seguinte:
Edite o arquivo yum.conf:
vi /etc/yum.repos.d/CentOS-Base.repo
E troque o conteúdo por:
(Para CentOS 4-4.5):
[base] name=CentOS-$releasever - Base baseurl=http://192.168.x.x/centos/$releasever/$basearch/base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4 #released updates [update] name=CentOS-$releasever - Updates baseurl=http://192.168.x.x/centos/$releasever/$basearch/updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4
(Para CentOS 5):
[base] name=CentOS-$releasever - Base baseurl=http://172.16.16.252/centos/$releasever/$basearch/base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #released updates [update] name=CentOS-$releasever - Updates baseurl=http://172.16.16.252/centos/$releasever/$basearch/updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
Artigo baseado em: http://www.howtoforge.com/creating_a_local_yum_repository_centos
e adaptado para as versões do CentOS 4.5 e 5
