Configurando um servidor ‘Apt-Cache’ usando ‘Apt-Cacher-NG’ no servidor Ubuntu 14.04
Apt-Cacher-NG é um servidor proxy de cache (ou proxy apt) para distribuições baseadas em Debian como Ubuntu, Kubuntu, Xubuntu, Edubuntu, Linux Mint, etc, que é usado para armazenar em cache os pacotes baixados localmente em seu servidor.
Digamos que você tenha uma rede pequena com poucos computadores conectados e queira instalar e atualizar pacotes de software em cada sistema manualmente, então seria uma tarefa difícil e demorada, é por isso que configurar um apt-cacher-ng em qualquer sistema seria será uma ótima idéia, porque primeiro armazenará em cache todos os pacotes baixados da Internet no servidor apt-cache e o resto do Debian, as máquinas Ubuntu os obterão do Apt-Cache, isso também economizará nosso precioso tempo e largura de banda da Internet.
Características
- apt-cacher-ng economizará nosso tempo.
- apt-cacher-ng economizará nossa largura de banda.
- Podemos integrar dados de imagem ISO ou DVD ao apt-cacher-ng usando a opção de importação.
Aqui vou configurar um servidor de cache no Ubuntu 14.04. Em nosso escritório, usamos mais de 30 clientes Ubuntu Desktop, 28 Ubuntu-Server VMS incluindo 12.04 e 14.04, 4 Linux mint Desktop. Mas usamos um único servidor de cache que roda no Ubuntu 12.04 LTS Server Edition. E até agora não há nada de conflito com os pacotes. Agora vamos começar a configurar o servidor apt-cache.
Nota: Este não é um Ubuntu ou Debian Mirror, é apenas um servidor de cache para pacotes apt.
Configuração do meu servidor
Apt Cache Server OS : Ubuntu 14.04 LTS Server
Apt Cache IP Address : 192.168.0.125
Apt Cache Hostname : aptcacher.tecmint.lan
Default Port : 3142
Configuração do meu cliente
Client OS : Ubuntu 14.04 LTS
Client IP Address : 192.168.0.3
Client Hostname : client.tecmint.lan
Etapa 1: Instalando e configurando o Apt-Cacher-NG no servidor
Primeiro, faça login no servidor para abrir um terminal usando ‘Ctr+Alt+T’ e instale o pacote Apt-Cacher-NG usando o seguinte comando ‘apt’.
sudo apt-get install apt-cacher-ng
Após a conclusão da instalação, o apt-cacher-ng será iniciado automaticamente. Agora abra e edite o arquivo de configuração cache-ng localizado no diretório ‘/etc/apt-cacher-ng’.
sudo vim /etc/apt-cacher-ng/acng.conf
A seguir, precisamos descomentar as seguintes linhas conforme sugerido, se estiver comentada remova o ‘#’ do início. Neste diretório, todos os pacotes dpkg serão armazenados durante a instalação ou atualização dos pacotes.
CacheDir: /var/cache/apt-cacher-ng
Para habilitar o log precisamos habilitar esta linha, por padrão ela estará habilitada.
LogDir: /var/log/apt-cacher-ng
O Apt-cacher irá escutar a porta 3142, se você precisar alterar a porta, você pode alterar a porta.
Port:3142
Em seguida, adicione a linha ‘BindAddress: 0.0.0.0’ abaixo da linha que diz:
BindAddress: localhost 192.168.7.254 publicNameOnMainInterface
BindAddress: 0.0.0.0
Aqui podemos definir as distribuições como Ubuntu e Debian, que precisam ser armazenadas em cache.
Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian # Debian Archives
Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu # Ubuntu Archives
Remap-debvol: file:debvol_mirror*.gz /debian-volatile ; file:backends_debvol # Debian Volatile Archives
Se precisarmos obter os relatórios do apt-cache na interface web, precisamos habilitar a seguinte linha, mas por padrão isso estará habilitado.
ReportPage: acng-report.html
Para obter mais informações sobre ‘log’, temos que descomentar a linha abaixo. Se definirmos como 0, apenas o tipo de atividade, hora e tamanho da transferência de nossos pacotes serão registrados.
VerboseLog: 1
Para executar o serviço apt-cacher, precisamos habilitar o arquivo pid na configuração.
PidFile: /var/run/apt-cacher-ng/pid
Para remover os arquivos não referenciados.
ExTreshold: 4
Por fim, terminamos a configuração, salve e feche o arquivo. Agora estamos todos prontos para reiniciar o serviço apt-cacher-ng usando o seguinte comando.
sudo /etc/init.d/apt-cacher-ng restart
Acesse a página do relatório do apt-cacher-ng na interface web usando o URL abaixo.
http://192.168.0.125:3142/
Aqui podemos ver a página de relatório do apt-cacher-ng. Clique no relatório estático e na página de configuração na parte inferior desta página para obter os acertos e erros de download.
Na página inicial do relatório, precisamos copiar o URL do proxy para uso posterior. Podemos até instalar pacotes neste servidor a partir do apt-cache que pode ser configurado localmente, apenas adicionando a entrada abaixo em /etc/apt/apt.conf.d/02proxy.
Acquire::http { Proxy "http://192.168.0.125:3142"; };
Etapa 2: configuração do lado do cliente
Primeiro faça login na máquina cliente (Ubuntu/Debain) e crie um arquivo ‘02proxy’ no diretório ‘/etc/apt/apt.conf.d/’.
sudo vim /etc/apt/apt.conf.d/02proxy
Agora copie o URL de aquisição e anexe ao arquivo 02proxy. Você obterá o seguinte URL da página do relatório de acesso do apt-cacher-ng em http://192.168.0.125:3142/.
Acquire::http { Proxy "http://192.168.0.125:3142"; };
Salve e saia usando wq!. A seguir, se algum pacote for baixado na máquina cliente, será armazenado em cache no servidor apt-cache.
Na minha máquina cliente, 92 pacotes podem ser atualizados, 43 atualizações são atualizações de segurança disponíveis. Já aplicamos as mesmas atualizações para o servidor de cache. Portanto, os pacotes agora serão armazenados em cache no apt-cacher. Se eu estiver atualizando esta máquina cliente, não demorará muito para obter pacotes da Internet.
Agora atualize o repositório e atualize os pacotes.
sudo apt-get update
sudo apt-get upgrade
Nas telas acima mostra que precisamos atualizar 85 pacotes e seu tamanho é 104MB, vamos ver quanto tempo levará para buscar o pacote.
Não estou nem em um data center, estou apenas usando uma conexão de internet de 256 Kbps onde a velocidade de download será de apenas 50 Kbps a 60 Kbps. Mas veja na imagem abaixo como ele alcançou 104 MB em 3 segundos? Isso porque ele já está armazenado em cache no servidor apt-cacher-ng.
Se precisarmos ver os dados de contagem de cache que baixamos, podemos acessar ip:port (192.168.0.125:3142) em qualquer navegador da web para ver as estatísticas, como expliquei acima.
Embora baixemos todos os pacotes para instalar em qualquer máquina Debian/Ubuntu. Se o pacote estiver disponível no apt-cache, ele será obtido do servidor apt-cache-ng, caso contrário, será obtido da Internet para o repositório local para uso futuro.
Neste artigo, vimos como configurar um servidor de cache local para pacotes apt usando apt-cacher-ng. Muitas pessoas desejam que esta configuração economize tempo e largura de banda. Espero que isso ajude todos aqueles que usam máquinas Debian/Ubuntu.