Apt-cacher

Introdução

O apt-cacher é um programa para criar repositórios locais de atualizações sob demanda. Ou seja, você configura o servidor e coloca os clientes de uma rede local apontando para os canais de software (Repositórios) desse servidor. Assim, quando uma máquina cliente solicita um pacote, o apt-cacher verifica se ele já existe no servidor, caso sim ele baixa dele, caso não ele baixa o pacote para o servidor e depois copia para a máquina cliente. Isso evita que diversas máquinas em uma rede baixem os mesmos pacotes, economizando assim tempo e banda de conexão.

Instalação

Para instalar o apt-cacher escolha a máquina servidora e use seu gerenciador de pacotes favorito. Para funcionar, o apt-cacher necessita do Apache, logo será necessário instalá-lo também. Uma maneira de instalar esses pacotes, seria digitar em um terminal:

sudo apt-get install apache2 apt-cacher

Não há necessidade de instalar coisa alguma nas máquinas clientes.

Configurando o apt-cacher no servidor

O arquivo de configuração principal do apt-cacher é o /etc/apt-cacher/apt-cacher.conf. Edite-o conforme suas necessidades. Em seguida, uma breve descrição das opções. Vale lembrar que se você tiver algum tipo de firewall será necessário liberar a porta 3142 para UDP e TCP.

cache_dir=/var/cache/apt-cacher

Diretório principal onde serão armazenados os arquivos .deb

admin_email=root@localhost

e-mail do adminstrador da rede

allowed_hosts=*

Lista de IPs, separada por vírgula, que podem acessar o apt-cacher. Por exemplo:
allowed_hosts=10.0.0.1-10.0.0.10,10.5.0.1 indica que os IPs permitidos são todos na faixa de 10.0.0.1 à 10.0.0.10 e mais o IP 10.5.0.1. Para permitir que qualquer IP possa acessar, use *

denied_hosts=

Faz o contrário da opção anterior, ou seja, bloqueia os IPs listados de acessarem o apt-cacher

allowed_hosts_6=

Similar à allowed_hosts, mas os IPs são dados seguindo o padrão IPv6 (::ffff:w.x.y.z)

denied_hosts_6=

Similar à denied_hosts, mas os IPs são dados seguindo o padrão IPv6 (::ffff:w.x.y.z)

allowed_locations=ftp.dominio.com.br

Permite que apenas os domínios passados sejam válidos nos Canais de Software do Repositório. Essa opção vem desabilitada padrão.

generate_reports=1

Gera relatórios diários de acesso do apt-cacher. Pode ser visualizado abrindo em um navegador o endereço http://IP.DO.SERVIDOR:3142/apt-cacher/report. Para desabilitar use 0 (zero).

clean_cache=1

Limpa diariamente os pacotes que estão no cache, mas que não estão nas listas dos Canais de Software do Repositório atual. Para desabilitar use 0 (zero).

logdir=/var/log/apt-cacher

Diretório dos logs de acesso ou de erros do apt-cacher

expire_hours=0

Tempo em horas para que as listas dos Canais de Software do Repostiório sejam atualizadas. Caso seja 0 (zero) o apt-cacher irá comparar o pacote requisitado com a versão presente no servidor, daí irá atualizar se necessário.
http_proxy=dominio.proxy.com.br:8080     Faz com que o apt-cacher passe os dados requisitados por um proxy externo. Essa opção vem desabilitada por padrão.

use_proxy=0

Habilita (1) ou desabilita (0) o proxy externo configurado na opção anterior

limit=0

Limitar a quantidade de bytes por segundo permitida para uso. Deixe em 0 (zero) para não fixar limite.

debug=0

Adiciona mais informações aos logs de erro. Habilite com 1 e desabilite com 0.

Nesse momento, há dois caches em seu servidor. Um deles é o do apt-get e o outro é o do apt-cacher. Você pode importar o cache do primeiro para o segundo executando em um terminal:

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

Agora, reinicie o serviço do apt-cacher:

# /etc/init.d/apt-cacher restart

Se desejar iniciar o apt-cacher automaticamente junto com o sistema, edite o arquivo /etc/default/apt-cacher e modifique o valor do campo AUTOSTART para 1.

Para testar suas configurações, abra um navegador e digite o endereço: http://IP.DO.SEU.SERVIDOR:3142/apt-cacher. Sendo que IP.DO.SEU.SERVIDOR é, óbvio, o IP da máquina usada como servidora e 3142 é a porta padrão usada pelo apt-cacher (a não ser que você tenha modificado-a na sua configuração). Se aparecer uma página de informações do apt-cacher, então o servidor está configurado. Caso contrário, reveja suas configurações. Há relatos de problemas na instalação em máquinas com o Apache já instalado.

Configurando o apt-cacher no cliente

Há duas maneiras de configurar o cliente.

  1. Editando o arquivo /etc/apt/sources.list Modifique cada linha do arquivo /etc/apt/sources.list da seguinte maneira: onde houver, por exemplo,

    deb http://br.archive.ubuntu.com/ubuntu/ dapper main restricted

    modifique para:

    deb http://IP.DO.SEU.SERVIDOR:3142/apt-cacher/br.archive.ubuntu.com/ubuntu/ dapper main restricted

    Nota: Não há quebra na linha. Se aparecer em seu navegador a linha quebrada é devido a resolução de sua tela.

  2. Criando um proxy para o apt-get. Crie (ou edite) o arquivo /etc/apt/apt.conf.d/01proxy adicioando a linha:

    Acquire::http::Proxy "http://IP.DO.SEU.SERVIDOR:3142";

    Há o relato de erro para essa forma quando um cliente solicita atualização de um pacote. Veja em https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/113658.

Agora basta atualizar o repositório do cliente. Isso pode ser feito através de seu gerenciador de pacotes favorito ou usando em um terminal:

# apt-get update

Vale lembrar que quando você for baixar um pacote em uma máquina cliente os valores que aparecem como velocidade de conexão e tempo de transferência não são tão reais, já que ela está baixando do servidor local e não do externo. Apenas nos casos em que o pacote não esteja no servidor local é que será necessário um tempo um pouco maior, já que o apt-chacer irá baixar esse pacote para o servidor e ao mesmo tempo tranferir para a máquina cliente.

Fontes

Mais informações sobre o apt-cacher podem ser obtidas em sua página de manual no sistema:

$ man apt-cacher

Créditos

Autor original: DudaNogueira

Data: ??/??/2007

Atualização: LuizAquino

Data: 21/03/2008

* por favor, se você também contribuiu para esse wiki insira seu nome em Autor.

Anúncios

~ por 3c0linux em setembro 30, 2009.

 
%d blogueiros gostam disto: