você está aqui: Home  → Arquivo de Mensagens

Apt-cacher

Colaboração: André Luiz Facina

Data de Publicação: 22 de Fevereiro de 2009

Quando temos vários servidores com a mesma distribuição é interessante criar um repositório de cache local, de modo que, uma vez que um pacote é baixado de um repositório oficial, todos os outros servidores irão baixar do respositório local, não sendo mais necessário realizar novamente o cansativo download dos pacotes que já foram baixados.

Ainda mais quando trabalhamos com linux e precisamos realizar o "apt-get upgrade" em todos os servidores, não seria nada agradável ter que baixar da internet os mesmos pacotes que já foram baixados em outro servidor ;-)

Para isso, mais uma vez o Debian se destaca com a ferramenta apt-cacher, sendo a instalação e configuração muito simples.

Instalação

O ideal é que o apt-cacher seja executado de um servidor que esteja conectado diretamente na internet.

  # apt-get install apt-cacher

Configuração

O principal arquivo de configuração é o /etc/apt-cacher/apt-cacher.conf. É importante mudar o paramentro allowed_hosts, pois por padrão todos os hosts estão autorizados a utilizar o cache.

Um exemplo do arquivo de configuração (sem os comentários)

  cache_dir=/var/cache/apt-cacher
  admin_email=andre.facina@localhost
  daemon_port=3142
  group=www-data
  user=www-data
  allowed_hosts=192.168.1.0/24
  denied_hosts=
  allowed_hosts_6=fec0::/16
  denied_hosts_6=
  generate_reports=1
  clean_cache=1
  offline_mode=0
  logdir=/var/log/apt-cacher
  expire_hours=0
  use_proxy=0
  use_proxy_auth=0
  limit=0
  debug=0
  path_map = debian ftp.uni-kl.de/pub/linux/debian ftp2.de.debian.org/debian ; ubuntu archive.ubuntu.com/ubuntu ; security security.debian.org/debian-security ftp2.de.debian.org/debian-security
  
  #EOF

Uma opção interessante é a path_map, onde é possível definir aliases para diferentes repositórios.

Ativando o apt-cacher na inicialização

  # vi /etc/default/apt-cacher
  
  AUTOSTART=1

Reiniciar o apt-cacher

  # /etc/init.d/apt-cacher restart
  
  # Reiniciar o apache ( observe que foi criado um arquivo de configuração para o Apache '/etc/apache2/conf.d/apt-cacher.conf')
  
  # /etc/init.d/apache2 restart

Utilização

Para as máquinas que utilizarão o cache é preciso editar o arquivo de configuração de repositórios do apt, /etc/apt/sources.list. É preciso remover todos os repositórios e reconfigurá-los na seguinte syntax:

  deb http://ip_do_servidor_de_cache:porta/apt-cacher/repositorio_debian/debian unstable main contrib non-free

Exemplo

  deb http://192.168.1.1/apt-cacher/ftp.br.debian.org/debian lenny main contrib non-free

Lembra-se da opção "path_map", onde definimos os aliases?? Em vez de passarmos o repositório completo do Debian, podemos apenas passar o alias que definimos no arquivo de configuração, por exemplo:

  deb http://192.168.1.1:3142/apt-cacher/security

Agora em outra máquina, após editar o sources.list execute o apt-get update e baixe um pacote, logo em seguida entre no servidor de cache e veja o conteúdo do diretório /var/cache/apt-cacher, eis aí os pacotes baixados ;-)

Importando os packages de /var/cache/apt/archives/ para o repositório do apt-cacher

As funcionalidades do apt-cacher não param por aí. Imagine que em seu servidor você já tenha baixado centenas de pacotes, mas sem utilizar o apt-cacher. Então por padrão eles ficaram armazenados no diretório de cache do apt (/var/cache/apt/archives/). É possível importá-los para o repositório do apt-cacher com a ferramenta apt-cacher-import.pl.

Exemplo

  /usr/share/apt-cacher/apt-cacher-import.pl /var/cache/apt/archives/ -r

Simples e rápido, ele importará todos os pacotes para o novo repositório.

Gerando relatório de utilização do cache

Também é possível gerar um relatório simples da utilização do cache. Se você deixou a opção "generate_reports=1" no arquivo de configuração (/etc/apt-cacher/apt-cacher.conf) o próprio apt-cacher se encarregará de gerar o relatório todos os dias. Senão, pode executá-lo manualmente "/usr/share/apt-cacher/apt-cacher-report.pl"

Para acessar o relatório digite:

  http://ip_do_servidor_de_cache/apt-cacher/report

Para outras informações acesse:

  http://ip_do_servidor_de_cache/apt-cacher

O apt-cacher lhe será muito útil se você tiver muitos servidores com a mesma distribuição (Debian, Ubuntu), vai lhe poupar tempo e largura de banda e não veremos o chefe reclamando que a internet está lenta quando estivermos instalando muitos e muitos pacotes nos servidores :-)



 

 

Veja a relação completa dos artigos de André Luiz Facina

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script