Conteúdo |
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.
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.
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: LuizAquino |
Data: 21/03/2008 |
* por favor, se você também contribuiu para esse wiki insira seu nome em Autor.