Criando um servidor de Apt Cacher no Debian
Autor: Vilson Jorge | Publicado: 2013-03-04T16:37:00-08:00

O Apt Cacher funciona como um repositório local em uma rede; mas diferentemente de um mirror que armazena vários gigabytes e dependem de uma conexão dedicada, o Apt Cacher somente armazena os pacotes baixados pelo sysadmin. É ideal para usuários domésticos, escolas, faculdades, empresas, etc.

O funcionamento do apt-cacher é simples:

1 - Ao ser solicitado um pacote de instalação de algum software o cliente verifica no servidor de Apt Cacher se o mesmo está disponível e se é a última versão; se positivo é baixado o pacote do servidor ao cliente; 

2 - Se o servidor de cacher não dispuser o pacote solicitado ou o pacote disponível no servidor não for o mais atual, o cliente baixa o pacote dos mirros disponível no sources.list do servidor, instala e deixa uma cópia no servidor de Apt Cacher para ser utilizado por outros;

3 - Se o cliente pede um pacote ao servidor e durante a obtenção do mesmo é cancelado a instalação com CTRL+C por exemplo, o Apt Cacher continua fazendo o dowload até o fim, deixando o pacote armazenado no servidor sem fornecer ao cliente;

Instalação do Apt Cacher.CONFIGURAÇÃO NO SERVIDOR
#apt-get -y install apt-cacher apache2

Feito isso o daemon de inicialização do serviço deverá ser ativado.

Usando um editor de texto de sua preferencia, modifique o status do serviço. (no caso estou usando o vim);

# vim /etc/default/apt-cacher

AUTOSTART=0
para
AUTOSTART=1

Isso fará com que o Apt Cacher seja inicializado junto com a subida do sistema.

O arquivo de configuração principal do APT Cacher é o /etc/apt-cacher/apt-cacher.conf; mas este arquivo raramente precisa ser modificado; se alguém necessitar modificar este arquivo posso ajudar em pvt.

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

Quando possuimos alguns pacotes com extensão .deb e desejamos que o Apt Cacher os importe para dentro do diretório /usr/share/apt-cacher/import; executa-se o comando.

# /usr/share/apt-cacher/apt-cacher-import.pl
Quando baixamos arquivos tanto pelo APT quanto pelo APTITUDE, os pacotes ficam salvos na pasta /var/cache/apt/archives. Estes também poderão ser importados para serem usados pelo Apt Cacher.

#/usr/share/apt-cacher/apt-cacher-import.pl /var/cache/apt/archives -r
Importar os arquivos para o apt-cacher em:/var/cache/apt-cacher/packages. e então ficara disponivel no servidor.

#/etc/init.d/apt-cacher restart
Verifcar o serviço

http://ip do servidor:3142/


CONFIGURAÇÃO NOS CLIENTES
No cliente, deve-se modificar o /etc/apt/sources.list

#vim /etc/apt/sources.list

adicionar da seguinte maneira:

##---------------------mirros oficiais-----------------------------

#mirros de segurança
deb http://10.1.1.15:3142/security.debian.org/ lenny/updates main contrib
deb-src http://10.1.1.15:3142/security.debian.org/ lenny/updates main contrib


#mirros oficiais
deb http://10.1.1.15:3142/linorg.usp.br/debian/ lenny main contrib non-free


##---------------------outros mirros oficiais---------------------

deb-src http://10.1.1.15:3142/ftp.br.debian.org/debian/ lenny main contrib non-free #Added by software-properties
deb-src http://10.1.1.15:3142/volatile.debian.org/debian-volatile lenny/volatile main contrib
deb http://10.1.1.15:3142/ftp.br.debian.org/debian/ lenny main contrib non-free
deb http://10.1.1.15:3142/security.debian.org/ lenny/updates contrib non-free main
deb http://10.1.1.15:3142/volatile.debian.org/debian-volatile lenny/volatile main contrib
deb http://10.1.1.15:3142/www.debian-multimedia.org lenny main
deb http://10.1.1.15:3142/debian-multimedia.org/&nbsp; lenny main non-free

10.1.1.15 é o endereço do servidor de Apt-Cacher


Obs1. O apache2 é requerido no Debian 5; já no Debian 6 Squeeze o apache2 é dispensável;
Obs2. Neste exemplo estou usando os mirrors do Debian 5 Lenny (já descontinuado) e instalando o apache. Se for utilizar outras distribuições, cuidar para colocar os mirrors certos no /etc/apt/sources.list do servidor.

Que diacho! eu gostava do meu cusco!

end!