web-dev-qa-db-fra.com

Comment utiliser un proxy de mise en cache avec Debootstrap?

Je veux exécuter debootstrap et créer une distribution plusieurs fois sans télécharger constamment des packages.

Utilisant apt-cacher-ng ou la --foreign Option dans Debootstrap ne fonctionne pas complètement hors ligne (par exemple, si je fais cela dans le train) car Déboottrap essaiera toujours de se connecter à Internet pour obtenir le fichier inrelease du repo à distance.

Il semble que Squid (ou un autre proxy de mise en cache) devrait être configuré pour mettre en cache certaines URL afin que lorsque je suis hors ligne, je peux toujours exécuter le processus.

Que dois-je installer et comment dois-je le configurer pour y parvenir?

1
opticyclic

Si vous apt install squid-deb-proxy Vous pouvez exécuter DEBOOTTRAP hors ligne (même les fichiers InRelease).

Toutefois, si vous souhaitez enregistrer la bande passante et continuer à utiliser le fichier hors connexion une fois que vous êtes en ligne, vous devez la modifier légèrement.

Il y a des chemins absolus dans le squid-deb-proxy.conf Fichier Vous devez donc en faire une copie dans votre projet et de le modifier.

Trouvez les références à /etc et /var et les modifier pour être relatif à la séparer des fichiers système.

Afin de toujours utiliser le proxy lorsque vous êtes en ligne, vous devez ajouter ceci au fichier Conf.

#Use cached values when offline
offline_mode on

Vous pouvez alors commencer comme ça:

mkdir -p squid/var/log/squid-deb-proxy
mkdir -p squid/var/run/

echo "Starting an instance of squid using the working dir for caches and logs instead of the system dirs"
squid -Nf squid/squid-deb-proxy.conf

Puis avant de commencer debootstrap

#Use a caching proxy to save bandwidth
export http_proxy=http://127.0.0.1:8000
0
opticyclic