Où sont stockés les fichiers apt-get?

26

Il existe plusieurs machines virtuelles exécutant Ubuntu et elles sont toutes mises à jour par la commande suivante:

apt-get update
apt-get upgrade

Mais la mise à jour de chaque machine virtuelle séparément prend beaucoup de temps pour télécharger les packages requis et utilise également une quantité énorme de bande passante (dont je manque). Est-il possible de transférer les fichiers mis à jour apt-getdirectement sur des VMs?

Je sais que les packages sont stockés /var/cache/apt/archivesmais j'ai besoin des fichiers de base de données apt-get (liste des miroirs, index, packages disponibles sur les miroirs, ...)


Mise à jour: il existe de nombreuses solutions

  1. apt-cacher-ng comme mentionné dans les réponses.
  2. Images Docker conçues pour mettre en cache les fichiers apt (elles exécutent Squid en fait)
  3. En utilisant simplement le calmar

En outre, comme mentionné dans les réponses, voir Meilleur moyen de mettre en cache les téléchargements apt sur un LAN?

hkoosha
la source

Réponses:

15

Pas une réponse explicite à votre question, mais avez-vous envisagé de mettre en place un proxy apt? J'utilise apt-cacher-ng (apt-get install apt-cacher-ng: D). Peut-être configurez-le sur l'hôte VM et dites aux VM (et à l'hôte) de l'utiliser comme proxy (aussi simple que d'ajouter un fichier (par exemple 02proxy) à /etc/apt/apt.conf.d/ contenant

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

De cette façon, vous pouvez simplement le faire apt-get upgradesans avoir à copier manuellement le fichier. Lorsqu'un ordinateur télécharge les debs, ils sont stockés sur le proxy de l'ordinateur suivant qui le demande. Peut gérer plusieurs versions et différentes architectures, etc.

Mais juste un: D

cosmorogers
la source
1
Vous pouvez même installer squid-deb-proxysur le serveur proxy et squid-deb-proxy-clientsur d'autres; cela fera fonctionner la détection de proxy de manière transparente (en utilisant Avahi), aucune configuration côté client requise. En prime, si le serveur proxy n'est pas trouvé sur le réseau local, le client se connectera directement aux référentiels (ce qui convient même aux ordinateurs portables).
Piskvor
J'appuie l'utilisation de Squid-deb-proxy sur Apt-cacher. Pertinent Q: La meilleure façon de mettre en cache les téléchargements apt sur un LAN?
gertvdijk
36

Les fichiers .deb que vous avez déjà téléchargés sont stockés dans /var/cache/apt/archives/.

turbo
la source
Oooh, bat-moi de 26 secondes :)
Naftuli Kay
6
C'est pourquoi j'ai deux fois plus de réputation ;-P
turbo
1
Oooooohhhh, burrrrn. :)
Naftuli Kay
14

/var/cache/apt/archives est l'endroit où ils doivent être stockés.

Naftuli Kay
la source
0

Vous pouvez sauvegarder tous les * .deb, puis les copier dans vmware, vous pouvez les copier dans /root/sw_backup. Le dossier ne peut pas l'être /var/cache/apt/archives/.

Ensuite, vous pouvez l'installer localement avec synaptic. Menu "fichier" synaptique pour trouver l'installation locale. mais il a également besoin d'un réseau, il suffit de mettre à jour un petit paquet.

eric0593
la source
Veuillez noter que cela devrait être .deb pas .dep
Malfist