Onde estão armazenados os arquivos apt-get?

26

Existem várias máquinas virtuais executando o Ubuntu e todas são atualizadas pelo seguinte comando:

apt-get update
apt-get upgrade

Mas atualizar cada VM separadamente leva muito tempo para baixar os pacotes necessários e também usa grande quantidade de largura de banda (da qual estou ficando sem). É possível transferir os arquivos atualizados apt-getdiretamente para as VMs?

Eu sei que os pacotes estão armazenados, /var/cache/apt/archivesmas preciso dos arquivos de banco de dados apt-get (lista de espelhos, índices, pacotes disponíveis em espelhos, ...)


Atualização: Existem muitas soluções

  1. apt-cacher-ng conforme mencionado nas respostas.
  2. Imagens do Docker criadas para armazenar em cache arquivos apt (na verdade, eles executam o squid)
  3. Simplesmente usando Lula

Além disso, como mencionado nas respostas, consulte Melhor maneira de armazenar em cache os downloads apt em uma LAN?

hkoosha
fonte

Respostas:

15

Não é uma resposta explícita à sua pergunta, mas você já pensou em configurar um proxy apt? Eu uso o apt-cacher-ng (apt-get install apt-cacher-ng: D). Talvez configure isso no host da VM e diga às VMs (e ao host) para usá-lo como proxy (tão simples como adicionar um arquivo (por exemplo 02proxy) a /etc/apt/apt.conf.d/ conter

Acquire::http { Proxy "http://vm host ip:3142"; };

Dessa forma, você pode fazer isso apt-get upgradesem ter que copiar manualmente o arquivo. Quando um computador baixa os debs, eles serão armazenados no proxy para o próximo computador que solicitar. Pode lidar com vários lançamentos e arquiteturas diferentes, etc.

Apenas um pouco: D

cosmorogers
fonte
1
Você pode até instalar squid-deb-proxyno servidor proxy e squid-deb-proxy-clientem outros; isso fará com que a detecção de proxy funcione de forma transparente (usando o Avahi), sem a necessidade de configuração do lado do cliente. Como bônus, se o servidor proxy não for encontrado na rede local, o cliente se conectará diretamente aos repositórios (tornando-o adequado mesmo para laptops).
Piskvor
Segundo o uso do Squid-deb-proxy sobre o Apt-cacher. Relevante P: Melhor maneira de armazenar em cache os downloads apt em uma LAN?
gertvdijk
36

Os arquivos .deb dos quais você já baixou são armazenados /var/cache/apt/archives/.

turbo
fonte
Oooh, me bater por 26 segundos :)
Naftuli Kay
6
É por isso que tenho reputação duas vezes maior ;-P
turbo
1
Oooooohhhh, burrrrn. :)
Naftuli Kay
14

/var/cache/apt/archives é onde eles devem ser armazenados.

Naftuli Kay
fonte
0

Você pode fazer backup de todo o * .deb, copiá-lo para o vmware e copiá-lo /root/sw_backup. A pasta não pode ser /var/cache/apt/archives/.

Em seguida, você pode instalá-lo localmente com o synaptic. Menu "arquivo" $ synaptic para encontrar a instalação local. mas também precisa de rede, só precisa atualizar um pequeno pacote.

eric0593
fonte
Por favor note que este deve ser .deb não .dep
Malfist