Wie füge ich Pakete zu einem Squid-Deb-Proxy-Cache hinzu?

10

Um Bandbreite und Daten in meinem Internetplan zu sparen, habe ich squid-deb-proxy auf einem Desktop installiert, den Client darauf und einige andere Computer, die ich habe. Basierend auf dem Beitrag , der mich dazu gebracht hat, klingt es jedoch so, als würde ich meinen Laptop * in ein anderes Netzwerk bringen und dort aktualisieren. Die heruntergeladenen Updates werden NICHT automatisch auf den Squid-Deb-Proxy-Server zurückkopiert, wenn ich sie erhalte zurück in meinem Netzwerk.

Unter der Annahme, dass dies korrekt ist (ich werde es später testen), gibt es eine Möglichkeit, diese Pakete in den Cache zu stecken, damit ich sie nicht noch einmal für andere Computer im Netzwerk herunterladen muss?


* Wie in den Kommentaren erwähnt, könnte ich den Laptop einfach zum Proxyserver machen, aber in meinem speziellen Fall ist der Laptop tatsächlich 1) eine VM, die nicht ständig ausgeführt wird, 2) ein Laptop, der nicht alle geöffnet ist Zeit. Daher funktioniert diese Lösung, obwohl sie gut ist, in meinem Fall nicht.

Zpletan
quelle
Wenn man in der Vergangenheit mit dem Autor darüber gesprochen hat, ist dies überraschend nicht trivial. Vielleicht kann sich jemand etwas Kluges einfallen lassen.
Jorge Castro
Vielleicht könnte askubuntu.com/q/113983/8724 helfen. . . .
Zpletan
Ist dieser Laptop, den Sie in einem anderen Netzwerk verwenden, der squid-deb-proxyServer?
saji89
@ saji89: nein, alle maschinen befinden sich im selben netzwerk.
Zpletan
Ich glaube nicht, dass Sie die gestellte Frage @ saji89 verstanden haben, und ich habe die gleiche Frage. Wenn Sie squid-deb-proxy auf dem Laptop und squid-deb-proxy-client auf dem Desktop und dem Laptop installieren , wird der Laptop zum Proxy und verwendet den Proxy lokal. Wenn Sie nicht zu Hause sind, werden Updates auf dem Laptop gespeichert. Wenn Sie wieder zu Hause sind, erhält der Desktop Updates vom Laptop.
Popey

Antworten:

2

Sie können apt-move(aus dem gleichnamigen Paket) ein lokales apt-Repository aus den Dateien im apt-Cache Ihres Laptops erstellen. Verwenden Sie dann rsync, um eine synchronisierte Kopie dieses Repositorys in Ihrem LAN zu speichern. Zeigen Sie abschließend andere LAN-Computer auf Ihre LAN-Kopie des lokalen Repositorys oben sources.list, sodass apt das lokale Repository gegenüber Remote-Repositorys bevorzugt.

Robie Basak
quelle
0

Dies ist immer noch eine unvollständige Antwort, aber es könnte die bestmögliche Antwort sein. Lesen Sie also weiter, wenn Sie neugierig auf mögliche partielle / hässliche / komplizierte Lösungen sind.

Interessante Frage, ich bin auf das gleiche Problem gestoßen, habe es aber nie behoben. Stattdessen versuche ich nur, mein Apt-Get außerhalb meines lokalen LAN zu begrenzen. Es war wirklich nicht die Mühe wert, höchstens 20 MB habe ich im letzten Jahr verschwendet. Mein Iso-Torrent-Seeding macht das wieder wett. Aber!

  1. Sie könnten einen Tunnel / Proxy zwischen Ihrem Laptop und Ihrem Heim einrichten, um Ihren Heim-Cache zu nutzen (dies ist aus Datenschutzgründen ohnehin eine gute Idee), aber dann wären Sie von Ihrer Upload-Geschwindigkeit abhängig. Das wäre nicht nur langsam, sondern Sie würden auch die doppelte Bandbreite verwenden, um dasselbe herunterzuladen. 1x gehen Sie von den Ubuntu-Spiegeln in Ihr LAN und 1x gehen Sie zum Café.

  2. Ich schlage vor, dass es möglich sein könnte, den Cache-Server auf Ihrem Laptop auszuführen und dann rsync zu verwenden, um ihn mit Ihrem Heimserver synchron zu halten. Dies stellt jedoch insofern ein Problem dar, als der Server auf Ihrem Laptop zu Hause weiterhin ausgeführt wird. Um damit fertig zu werden, sah ich zwei Möglichkeiten. 1. Stoppen Sie den Cache-Server auf Ihrem Laptop, während Sie zu Hause sind. 2. Behalten Sie alle zwischengespeicherten Kopien, die auf Ihrem Home-Server vorhanden sind, auch auf Ihrem Laptop (zusätzlicher Platzbedarf) und erreichen Sie dies, indem Sie nicht nur zwischengespeicherte Daten auf Ihren Server übertragen, wenn Sie diese erhalten Zuhause mit rsync, aber auch regelmäßig die zwischengespeicherten Daten auf Ihren Laptop-Server ziehen. Als ich dies vorschlug, ging ich davon aus, dass der Squid-Deb-Proxy-Cache auf einem Server mit einem anderen kompatibel ist und dass Sie Dateien auf diese Weise ein- und austauschen können. Diese Optionen erfordern sicherlich auch einige Skripte.

David A.
quelle
0

Wir verwenden einen einfachen und dummen Ansatz: Der Squid-Deb-Proxy kann sich selbst als Proxy verwenden. Deshalb mache ich einfach:

  1. Ich installiere die Client-Software auf dem Squid-Deb-Proxy-Server:

    apt-get installiere squid-deb-proxy-client

  2. Ich habe ein einfaches Skript erstellt, das alle installierten Pakete auflistet - und jedes Paket erneut herunterlädt:

    #!/bin/bash  
    # Create temp dir & change into it
    tmpdir=$(mktemp -d) 
    pushd $tmpdir   
    # Get all installed packages and re-download them
    for package in $(dpkg --get-selections | cut -f 1); do apt-get download $package; done;
    popd
    # Delete tmp dir
    

Auf diese Weise haben wir bereits einen nicht so schlechten Basis-Cache.

Wenn wir alle Pakete eines vorhandenen Servers zum Cache hinzufügen möchten, führen wir einfach die gleiche Prozedur 1) und 2) aus

Tom
quelle