A atualização dos micros de nossa rede privada pode acabar gerando um tráfego desnecessário que, dependendo do link e do provedor, irá onerar o custo final da internet. Neste artigo vou mostrar uma das maneiras de resolver este problema, criando um mirror dentro de nossa própria rede.
Para a construção de meu mirror, a primeira coisa que avaliei foi qual método eu usaria para fazer com que meu computador tivesse a mesma árvore de diretórios que a conectiva usa, além da política de sincronia.
Optei por usar o rsync, que serve para sincronizar diretórios e
arquivos. Aqui no VOL tem um artigo interessante sobre o rsync, feito pelo
mestre Fábio:
Minha idéia basicamente tinha o seguinte objetivo. Eu usaria o rsync para copiar a estrutura de diretórios de um mirror qualquer do CL10 para meu micro, depois usaria o crontab para rodar o script de atualização uma vez por dia para fazer a verificação das modificações que foram feitas lá no mirror e novamente seria feita a sincronia caso necessitasse. Para que meus usuários tivessem acesso ao "apt" de minha rede, eu colocaria o ftp como anonymous para a pasta onde ficaria a base de meu sistema. Moleza né?
Criei um script.sh chamado sincronia.sh e joguei nele as linhas que executavam o rsync, vou copiar o script:
# Script de atualização do Conectiva 10
rsync -rzua -vv --delete rsync://ftp.unicamp.br/ftp/pub/Conectiva/10 /opt/pub/Conectiva/
rsync -rzua -vv --delete rsync://ftp.unicamp.br/ftp/pub/Conectiva/atualizacoes/10 /opt/pub/Conectiva/atualizacoes/
Basicamente este script faz uma sincronia dos diretórios ftp.unicamp.br/ftp/pub/Conectiva/10 e ftp.unicamp.br/ftp/pub/Conectiva/atualizacoes/10 para meu micro.
Os parâmetros que eu utilizei (-rzua) servem para:
r -> copia recursivamente;
z -> comprime os arquivos na transferência;
u -> faz o update dos arquivos antigos pelos novos;
a -> copia todos os arquivos;
-vv -> mostra porque cada linha/pacote individual é incluído ou excluído.
Bem, tem que ter paciência, a primeira sincronia demora mesmo. Depois é mais rápido, eu gastei alguns dias para fazer a sincronia.
Para que o script de atualização rode de vez em quando, uma vez por dia, por exemplo, é bom colocar uma entrada no /etc/crontab.
### Script de atualização e sincronia diária do mirror CL10
0 * * * * * root /opt/sincronia.sh
Não se esqueça de deixar o arquivo com permissão 755.
[1] Comentário enviado por removido em 20/02/2006 - 18:11h
esta idéia é muito ineteressante também para as demais distros, principalmente se a conexão for discada...
Poderia também ser aplicada ao ubuntu etc...