Auf meinem Heim-PC laufen mehrere virtuelle Linux-Maschinen. Eine der Eigenheiten von Linux ist, dass es jedes Mal, wenn Sie einen Paketmanager ausführen, die konfigurierten Software-Repositorys „aktualisieren“ möchte – was im Grunde bedeutet, dass es eine Datei aus dem Internet herunterladen möchte. Wenn ich zu einem früheren Snapshot der VM zurückkehre, lädt der Paketmanager beim nächsten Ausführen des Paketmanagers genau dieselben Daten erneut herunter [da sie in der VM nicht mehr vorhanden sind].
Es scheint eine Schande zu sein, Bandbreite zu verschwenden, indem man immer wieder dieselben Daten herunterlädt. Deshalb habe ich mich gefragt, ob es eine Möglichkeit gibt, eine Art HTTP-Proxyserver einzurichten, der heruntergeladene Dateien zwischenspeichert. Ich habe allerdings keine Ahnung, wie man so etwas machen würde. Insbesondere muss es so eingerichtet werden, dass die VMs nicht „wissen“ müssen, dass der Cache da ist; es muss transparent sein. Aber ich weiß nicht, wie das geht.
Irgendwelche Vorschläge, welche Software ich verwenden müsste? Es wäre schön, wenn ich es unter dem Windows-Host-Betriebssystem ausführen könnte, aber es ist auch möglich, eine kleine VM mit einem Linux-Gast auszuführen ...
Antwort1
Diese Diashowdeckt mehrere Lösungen für einen Paket-Caching-Proxy für Debian-basierte Linux-Distributionen ab:
Ca.
Läuft als Proxy: Sie geben an, welche Spiegel verwendet werden sollen, und konfigurieren dann die Clients so, dass sie diesen als einzigen Spiegel verwenden.
Installation auf dem Pakethost:
sudo apt-get install apport
Konfigurieren Sie Approx so, dass Ihre bevorzugten Backend-Mirrors in folgenden Bereichen verwendet werden
/etc/approx/approx.conf
:debian http://ftp.au.debian.org non-US http://ftp.au.debian.org/non-US security http://security.debian.org/security
Konfigurieren Sie den Client für die Verwendung des Approx-Servers:
deb http://localcache:9999/debian stable main contrib deb http://localcache:9999/security stable main
Apt-Proxy
Ähnlich wie Approx
Installieren mit
sudo apt-get install apt-proxy
Konfigurieren Sie bevorzugte Spiegel in
/etc/apt-proxy/apt-proxy-v2.conf
:[debian] backends = http://ftp.au.debian.org http://ftp.us.debian.org
Konfigurieren Sie Clients wie bei Approx:
deb http://localcache:9999/debian stable main contrib deb http://localcache:9999/security stable main
Sie sind für die Ausführung unter Linux konzipiert, aber Sie können sie möglicherweise mit minimalem Aufwand auf Windows portieren. Ich würde gerne hoffen, dass Python plattformunabhängig ist, aber ich habe festgestellt, dass Programmierer oft Annahmen treffen.