Apt-Cacher-NG: Ein Proxy-Server für Debian und Ubuntu

Es gibt Programme, die einem erst in den Sinn kommen, wenn man viele Linuxdistributionen gleichzeitig auf seinen Heimrechnern benutzt und das Hardwarearsenal von Jahr zu Jahr anwächst. Im Regelfall hat jedes Linux einen Paketmanager, der dafür sorgt, dass Softwarepakete zentral verwaltet werden und die Aktualisierung derselben oft nur ein kurzes Kommando oder Mausklick entfernt ist.

Wenn man wie ich zweimal Debian Squeeze, zweimal Debian Sid und einmal Debian Testing einsetzt, braucht man irgendwann einen zwischenspeichernden Proxy-Server wie Apt-Cacher-NG. Diese Anwendung sorgt dafür, dass ein zentraler Server im Netzwerk die Rolle des Proxys spielt und alle anderen Clients bei einem Update über ihn mit neuer Software versorgt werden. Das Praktische daran:

  1. Es wird deutlich Bandbreite gespart, da nun nicht mehr jeder einzelne Rechner separat die Pakete herunterladen muss, sondern diese ab sofort nur einmal vom Proxy aus dem Internet geladen werden müssen. Der Debian FTP Master wird es einem danken. ;)
  2. Die Verteilung der Updates erfolgt dann innerhalb des lokalen Netzwerks über den zentralen Proxy-Server, womit alle Clients von der maximalen Geschwindigkeit des LANs profitieren.

Für die spezielle Aufgabe nur Debianpakete zwischenzuspeichern, gibt es mehrere Alternativen, von denen mir Apt-Cacher-NG am besten gefallen hat. Die Konfiguration ist einfach und funktioniert wie folgt:

  1. aptitude install apt-cacher-ng
  2. /etc/apt-cacher-ng/acng.conf an die eigenen Vorstellungen anpassen. Im Regelfall können die Einstellugen für Debian oder Ubuntu beibehalten werden.

    Optional: Das Cache-Verzeichnis z.B. auf /mnt/backup/apt-cacher-ng ändern und eine externe Festplatte oder USB-Stick in diesem Verzeichnis mounten. Das Standardverzeichnis liegt auf /var/cache/apt-cacher-ng. Das neue Verzeichnis muss unbedingt Schreibrechte erhalten und dem Benutzer apt-cacher-ng gehören.

  3. chown -R apt-cacher-ng:apt-cacher-ng /mnt/backup/apt-cacher-ng
    chmod -R a+rX,g+rw,u+rw /mnt/backup/apt-cacher-ng

  4. Apt-Cacher-NG neustarten: /etc/init.d/apt-cacher-ng restart
  5. Clients konfigurieren:

    Möglichkeit 1: Apt in /etc/apt/apt.conf mitteilen, dass wir neue Pakete nur noch über den Proxy Server beziehen wollen.

    Acquire::http { Proxy “http://server:3142″; };

  6. Möglichkeit 2: Die /etc/apt/sources.list anpassen:

    deb http://ftp.de.debian.org/debian/ sid main contrib non-free

    wird zu

    deb http://server:3142/ftp.de.debian.org/debian/ sid main contrib non-free

    Alle weiteren Zeilen müssen bei Methode 2 dementsprechend in der sources.list angepasst werden.

Den Namen server kann man beliebig wählen, sofern man die lokale IP-Adresse in /etc/hosts diesem Namen zugewiesen hat. Anstatt server lässt sich natürlich auch die lokale IP wie z.B. 192.168.0.201 eintragen. Es spart einem aber Tipparbeit es einmal in /etc/hosts festzuhalten. Für andere Anwendung wie SSH ist das auch ziemlich praktisch: ssh server anstelle von ssh 192.168.0.201

Für die anderen Clients verfährt man entsprechend. Anschließend werden dann bei einem Update die Pakete über den Server heruntergeladen, der sie zur weiteren Verwendung zwischenspeichert. Apt-Cacher-NG erkennt dabei automatisch, welche Pakete veraltet sind und welche nicht und kommt auch mit den unterschiedlichen Versionen von Debian oder Ubuntu klar. Ein netter Bonus von apt-cacher-ng ist das Webfrontend, welches sich unter http://server:3142 erreichen lässt.

Der Proxy bleibt aber nicht nur auf debianbasierende Distributionen beschränkt, sondern lässt sich auch mit Arch Linux benutzen. Bei anderen Distributionen sollte man das Handbuch konsultieren. Eine gute Zusammenfassung zu apt-cacher-ng gibt es auch bei ubuntuusers.de.

Alternativen sind oder waren apt-proxy (wird nicht mehr gepflegt), approx und apt-cacher. Mir gefällt apt-cacher-ng am besten, weil es unkompliziert einzurichten ist und selbst auf dem Inspiron 4000 Laptop ohne Probleme läuft.

3 Kommentare zu Apt-Cacher-NG: Ein Proxy-Server für Debian und Ubuntu

Hinterlasse eine Antwort

  

  

  

Du kannst diese HTML tags benutzen

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>