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.
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 os comando abaixo:
# apt-get update
# apt-get install apache2 apt-cacher
Caso tenha problemas durante a instalação, verifique se sua rede precisa de Proxy. Caso afirmativo, utilize o tutorial disponível AQUI para configurar o Proxy em sua máquina.
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. |
O primeiro passo para configurar o servidor é alterar as opções do arquivo /etc/apt-cacher/apt-cacher.conf de acordo com suas necessidades. Por padrão as opções do arquivo já permitem que ele funcione sem a necessidade de modificações.
Caso sua rede obrigue o uso de proxy, será necessário alterar duas opções do arquivo de configuração. A primeira opção é indicar o endereço do proxy. Para isso altere a seguinte linha do arquivo de configuração,
#http_proxy=dominio.proxy.com.br:8080
deixando ela da seguinte maneira:
http_proxy=IP.PROXY:PORTA
onde IP.PROXY e PORTA devem ser alterados para o IP e a PORTA do servidor proxy da sua rede.
A segunda opção é habilitar o uso do proxy. Para isso altere a seguinte linha do arquivo,
use_proxy=0
deixando ela da seguinte maneira:
use_proxy=1
Após realizar os ajustes no arquivo de configuração, é preciso habilitar o serviço do apt-cacher, para que ele iseja iniciado quando a máquina for ligada. Para isso, edite o arquivo /etc/default/apt-cacher, e modifique o valor do campo AUTOSTART para 1:
AUTOSTART=1
Em seguida inicialize o serviço, utilizando o comando abaixo:
# service apt-cacher start
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.
Os comandos
# /etc/init.d/apt-cacher stop
e
# /etc/init.d/apt-cacher start
e
# /etc/init.d/apt-cacher restart
gerenciam a atividade do serviço (para, inicia e reinicia). Sempre que alguma mudança for feita no arquivo de configuração do apt-cacher será necessário reiniciar o serviço para que as novas configurações entrem em vigor.
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
Há duas maneiras de configurar o cliente. Escolha a que for mais adequada a sua situação.
Editando o arquivo /etc/apt/sources.list Esse arquivo contém o endereço de todos os repositórios disponíveis na Internet. A configuração consiste em alterar todos os endereços, indicando qual endereço do servidor Apt-Cacher. 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 adicioando as linhas:
Acquire::http::Proxy "http://IP.DO.SEU.SERVIDOR:3142"; Acquire::https::Proxy "https://IP.DO.SEU.SERVIDOR:3142";
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
Caso não ocorra nenhum erro é sinal de que o Sevidor e o Cliente estão corretamente configurados.
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.