Tenho três sistemas Ubuntu e desejo minimizar a largura de banda de download configurando um cache de pacotes baixados. (Com apenas três sistemas, não vale a pena montar um espelho completo).
apt-cacher-ng
parecia perfeito para isso, mas não funciona como eu esperava depois de configurar um teste com 1 servidor e 1 cliente.
Quando instalo o software no cliente , ele funciona conforme o esperado - os pacotes são baixados no servidor e armazenados no cache do servidor.
Mas quando instalo o software no servidor , os pacotes não são armazenados em cache.
Esse tipo de apt-cacher-ng
utilidade estraga para mim - com apenas dois sistemas, acabarei baixando os pacotes de software duas vezes de qualquer maneira (como para atualizações do kernel, etc.). Gostaria que armazenasse em cache os pacotes baixados para serem instalados no servidor; para mim, há uma grande sobreposição entre esses pacotes e o que os clientes irão solicitar.
Existe uma maneira de armazenar apt-cacher-ng
em cache os pacotes que são baixados para serem instalados no servidor?
Para que a máquina servidora passe pelo cache, ela também precisa ser configurada como um
apt
cliente de cache ( ). Ao seguir asapt-cacher-ng
instruções para a máquina servidora, você precisará executar as etapas para configurá-la como umapt-cacher-ng
servidor de cache ( ) e umapt
cliente de cache ( ). Sua situação inesperada é assim:No caso do servidor, defina-o
Acquire::http::Proxy
comohttp://localhost:3142
em vez de como as máquinas clientes definem o proxy como o nome do host do servidor. Isso funciona e é mais confiável. Depois disso, a situação é a esperada:Os 4 conceitos de máquina servidor (máquina que executa ambos
apt
eapt-cacher-ng
), máquina cliente (máquina que executa apenasapt
), servidor de cache (apt-cacher-ng
) e cliente de cache (apt
) não devem ser confundidos. É simples nas máquinas clientes. Mas na máquina servidora, seu próprio cliente de cache (apt
) não é modificado pela instalação doapt-cacher-ng
.apt-cacher-ng
é uma coisa separada que você executa, e configurar o proxy paralocalhost
não causará um loop. Na verdade, o proxy deve ser configurado para que o cliente de cache da máquina servidora (apt
) passe pelo servidor de cache (apt-cacher-ng
) (coincidentemente em execução na mesma máquina) para funcionar conforme o esperado.Resposta complementar com algumas dicas para quem quiser fazer isso:
/etc/apt/apt.conf.d
para configurar o proxy seja legível por todos ou você terá que usá-losudo
sempre que fizer um arquivoapt policy
.apt-cacher-ng
.apt-mirror
, mas ainda tenho alguns testes para fazer nisso.