Criando mirror do Debian Lenny e Debian Lenny Security em sua rede local

Neste artigo irei mostrar como criar um mirror (espelho) do repositório Lenny e Lenny Security do Debian, de um modo fácil, seguro e sem complicações.

[ Hits: 18.730 ]

Por: Rafael de Jesus Miranda em 05/05/2010


Início



Em uma rede de computadores, variando o tamanho dela, muitas vezes o administrador sofre com problemas relacionados à conexão com a internet, por melhor que seja o link, devido ao número de máquinas, ocorre muitas oscilações na conexão, principalmente quando se é necessário fazer atualizações de pacotes Debian GNU/Linux em cada máquina, onde todas fazem downloads do mesmo local ao mesmo tempo.

Existem várias maneiras para amenizar este problema, uma das mais eficazes e interessante seria criar um mirror (espelho) do repositório do Debian em um servidor na sua rede local, e é isto que vamos fazer. Sendo assim você otimizará sua rede, não tendo mais problemas como perda de sinal e lentidão, ganhando assim mais tempo, pois você estará deixando sua rede mais rápida e eficaz. Também vale ressaltar que você terá um backup de todos os pacotes do repositório do Debian que você espelhar no seu servidor da sua rede local.

Usando o "apt-mirror" para criar o espelho

Para criar o espelho do repositório do Debian usarei a ferramenta "apt-mirror" e espelharei os repositórios Debian Lenny e Debian Lenny Security, pois foi essa minha necessidade em minha rede.

Segundo o site packages.debian.org, o "apt-mirror" é uma ferramenta de espelhamento dos fontes APT, pequena e eficiente, onde você poderá construir um espelho de parte ou total distribuição Debian GNU/Linux ou qualquer outro tipo de fonte apt, sendo seus principais recursos:
  • Usa uma configuração similar aos apts <sources.list>;
  • É totalmente compatível com o pool;
  • Suporta download em multithread;
  • Suporta várias arquiteturas ao mesmo tempo;
  • Remove arquivos desnecessários automaticamente;
  • Funciona bem em canais sobrecarregados para a internet;
  • Nunca gera um espelho inconsistente mesmo durante um espelhamento;
  • Funciona em todos os sistemas compatíveis com POSIX que tenham perl e wget.

Configurações a serem feitas no servidor:

1. Instalando o apt-mirror:

Bom, vamos instalar e configurar o "apt-mirror". Para isso, você deverá abrir o arquivo /etc/apt/source.list com o editor de textos de sua preferência e adicionar o seguinte repositório, caso não o tenha:

deb ftp://ftp.br.debian.org/debian/ lenny main contrib non-free

Feito isso, deverá executar com poderes de root (usuário administrador) os seguintes comandos:

# apt-get update
# apt-get install apt-mirror


Após sua instalação, iremos partir para sua configuração.

2. Configurando o apt-mirror:

Depois de instalado, o arquivo de configuração do apt-mirror localiza-se no diretório /etc/apt/mirror.list, para editá-lo abra-o com um editor de textos. O arquivo deverá ficar assim:

############# config ##################
#
# set base_path    /var/spool/apt-mirror
#
# if you change the base path you must create the directories below with write privlages
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set nthreads     20
# set _tilde 0
#
############# end config ##############


# Configuração padrão do apt-mirror. Obs: no set defaultarch, estou setando a arquitetura apenas para i386.
set base_path /var/spool/apt-mirror
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
set defaultarch i386

# Repositórios que eu desejei espelhar: Debian Lenny e Debian Lenny Security, incluindo seus fontes.
deb http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/debian-security lenny/updates main contrib non-free
deb-src http://security.debian.org/debian-security lenny/updates main contrib non-free

# O que queremos limpar. Obs.: Não entendi bem o conceito deste "clean" mas p/ mim sem essas  2 duas linhas não funcionou.
clean http://ftp.br.debian.org/
clean http://security.debian.org/

3. Usando o apt-mirror:

Após editar esse arquivo, vamos pôr o apt-mirror em ação para criar nosso mirror, você deve ter um bom espaço na partição que contenha o diretório /var/spool/apt-mirror, pois é lá onde ficarão os arquivos e pacotes espelhados. No meu caso como eu fiz espelho do Debian Lenny e Debian Lenny Security, foram baixados 45 G de arquivo. Com poderes de root execute o comando:

# apt-mirror

Bom, agora demorará algumas horas para fazer o download completo e criar seu mirror.

4. Disponibilizando os arquivos na rede:

Vamos disponibilizar os arquivos na rede e para que as máquinas clientes possam usar o mirror, para isso devemos ter o Apache instalado e configurado, então devemos criar o arquivo /etc/apache2/conf.d/apt-repository.conf e adicionar o seguinte conteúdo no arquivo, ficando assim:

Alias /debian/pool /var/spool/apt-mirror/mirror/ftp.br.debian.org/debian/pool
Alias /debian/dists /var/spool/apt-mirror/skel/ftp.br.debian.org/debian/dists
Alias /debian-security/pool /var/spool/apt-mirror/mirror/security.debian.org/debian-security/pool
Alias /debian-security/dists /var/spool/apt-mirror/skel/security.debian.org/debian-security/dists

<Directory /var/spool/apt-mirror/mirror/ftp.br.debian.org/debian/pool>
AllowOverride None
Options Indexes
Order Deny,Allow
Allow from 192.168.1.254/24
Allow from 127.0.0.1/32
Deny from all
</Directory>
<Directory /var/spool/apt-mirror/skel/ftp.br.debian.org/debian/dists/>
AllowOverride None
Options Indexes
Order Deny,Allow
Allow from 192.168.1.254/24
Allow from 127.0.0.1/32
</Directory>
<Directory /var/spool/apt-mirror/mirror/security.debian.org/debian-security/pool>
AllowOverride None
Options Indexes
Order Deny,Allow
Allow from 192.168.1.254/24
Allow from 127.0.0.1/32
Deny from all
</Directory>
<Directory /var/spool/apt-mirror/skel/security.debian.org/debian-security/dists/>
AllowOverride None
Options Indexes
Order Deny,Allow
Allow from 192.168.1.254/24
Allow from 127.0.0.1/32
Deny from all
</Directory>

Obs.: Não esqueça de substituir <192.168.1.254/24> pelo endereço IP do seu servidor onde está sendo feito o espelho.

Feito isso, reinicie seu servidor Apache com o seguinte comando:

# /etc/init.d/apache2 restart

Seu repositório interno está configurado e pronto para ser usado, bastando apenas configurar os clientes.

    Próxima página

Páginas do artigo
   1. Início
   2. Configurações a serem feitas nos clientes
Outros artigos deste autor

Usando e instalando o Nessus no Linux

Leitura recomendada

Recuperando sistema em mirror LVM 1

Resolvendo problemas na rede do Slackware

Assistindo vídeos no XMMS

Configurando o X.org

Bacula no Debian Lenny

  
Comentários
[1] Comentário enviado por doomk em 05/05/2010 - 18:30h

Excelente, estava pensando em um mirror aki na empresa.

E pra Ubuntu? é o mesmo esquema?

[2] Comentário enviado por rjmkako em 05/05/2010 - 23:40h

Não testei no ubunto, mas creio que essa lógica serve para qualquer distribuição base debian que use o APT como gerenciador de pacotes!

[3] Comentário enviado por rogeriojlle em 06/05/2010 - 11:45h

mais facil e sem complicaçoes que isso, pode usar o apt-cacher, instala ele e pula direto pra parte onde configura os clientes

[4] Comentário enviado por edisonsousa em 10/05/2010 - 09:43h

muito bom mesmo e fácil demais, valeu por compartilhar esse conhecimento.

[5] Comentário enviado por luanyata em 10/05/2010 - 10:50h

Pow cara muito legal isso ... eu fazia um backup com o aptoncd e ia atualizando maquina por maquina... agora com o espelhamento é mais legal nao precisa ficar criando imagem para cada atualização...

muito bom

;)


Contribuir com comentário