Lokaler apt-get-proxy

Folgende Situation: In einem lokalen Netzwerk sind eine Reihe von Debian- und Ubuntu-Installationen vorhanden, teilweise in virtuellen Maschinen, teilweise direkt auf der Hardware. Updates dauern aufgrund der unterdimensionierten Internet-Anbindung aber ziemlich lange. Gesucht wird nach einer Lösung, bei der die Pakete auf einem lokalem Server zwischengespeichert werden, sodaß sie nur einmal heruntergeladen werden müssen.

Mit apt-cacher-ng steht auf Server-Seite ein einfach zu installierender Proxy zur Verfügung. Die Software ist verfügbar in den Paketquellen von Ubuntu und Debian und unterstützt auch Redhat-basierte Systeme. Im Gegensatz zu allgemeinen Ansätzen wie squid ist apt-cacher-ng ein speziell für seinen Einsatzzweck entwickeltes Tool und kann mit Hilfe der Kenntnis der Paketstruktur Dinge optimieren.

Auf Client-Seite wird squid-dep-proxy-client eingesetzt. Dabei handelt es sich um nichts anderes als ein apt-Plugin, was mithilfe von lokalem Service-Discovery mittels avahi / mDNS den nächsten apt-cacher-ng – Server anspricht, sofern im lokalen Netz vorhanden. Ursprünglich wurde squid-deb-proxy-client als client für das Paket squid-deb-proxy verwendet, aber in den neuen Versionen von “apt-cacher-ng“ werden die entsprechenden avahi-Service-Einträge ebenfalls gesetzt.

Das Schöne an der Lösung ist, daß

  1. Auf Client-Seite nichts konfiguriert werden muß.
  2. Updates auch funktionieren, wenn der Server nicht erreichbar ist (weil er  z.B. down ist, oder sich das Laptop in einem anderen Netz befindet).

Zu Konfigurieren gibt es eigentlich nichts. Nach der simple Installation Installieren der Pakete auf den Clients und dem Server funktionierte der Proxy auf Anhieb.