4.20 apt-cacher

apt-cacher unterscheidet sich deutlich vom zuvor beschriebenen apt-cache. Die Problematik, in einem Netzwerk verschiedene Debian Systeme mit Paketen zu versorgen und dabei nicht für jedes System alle Pakete erneut aus dem Netz zu holen, ist sicher jedem Administrator vertraut. apt-cacher bietet für dieses Problem eine elegante Lösung und lässt sich besonders effektiv in einem Netzwerk mit langsamer Anbindung an das Internet einsetzen.

apt-cacher wurde ursprünglich von Nick Andrew entwickelt, um zwei Debian Systeme hinter einer Modem-Anbindung mit Paketen zu versorgen. Die Entwicklung ist mittlerweile jedoch weiter fortgeschritten und hat apt-cacher zu einem leistungsfähigen Caching-System für Debian Pakete gemacht. apt-cacher lässt sich auch auf anderen Linux-Distributionen, wie beispielsweise RedHat/Fedora oder Novell/SuSE, im Zusammenspiel mit APT einsetzen und ist auch via Fink unter MacOS lauffähig.

[Tipp]Fink: Mac OS X durch freie Software ergänzen

Fink ist ein Projekt, das es sich zur Aufgabe gemacht hat, die ganze Welt der Unix-Open-Source-Software auf Darwin und Mac OS X zu bringen. Daraus ergeben sich zwei Hauptziele. Erstens: bereits existierende Open-Source-Software so zu modifizieren, dass sie unter Mac OS X kompiliert bzw. ausgeführt werden kann (diesen Prozess nennt man Portieren); zweitens: die Ergebnisse den Nutzern zugänglich zu machen, und zwar als eine zusammenhängende, komfortable Distribution, die den Gewohnheiten der Linux-Nutzer entspricht. (Dieser Prozess wird Packaging genannt.) Das Projekt bietet sowohl vorkompilierte Binär-Pakete als auch ein vollautomatisiertes System, das es ermöglicht, direkt von den Quellcodes zu kompilieren.

Um diese Ziele zu erreichen, vertraut Fink auf die exzellenten Paket-Management-Tools, die vom Debian-Projekt entwickelt wurden: dpkg, dselect und apt-get. Darüber hinaus bietet Fink seinen eigenen Paket-Manager, genannt fink, an. Man kann fink als eine build engine ansehen - es benutzt die Paketbeschreibungen und erstellt daraus binäre Debian Pakete. Während dieses Prozesses lädt es den originalen Quellcode aus dem Internet, führt, wenn nötig, Patches aus und geht dann durch den gesamten Konfigurations- und Build-Prozess des Pakets. Zuletzt packt es die Ergebnisse in ein Archiv, das dann von dpkg installiert werden kann.

Da Fink auf Mac OS X aufbaut, gilt die strikte Regel, es zu verhindern, dass es dem Basissystem irgendwie in die Quere kommt. Daraus folgt, dass Fink in einer eigenständigen Ordnerstruktur residiert und die Infrastruktur anbietet, um es einfach zu benutzen.

4.20.1 Prinzip

Im Gegensatz zu anderen Caching-Programmen läuft apt-cacher nicht als eigenständiger Server, sondern als CGI-Skript innerhalb des Apache-Webservers auf einem System im Netzwerk. Dies hat den Vorteil, dass apt-cacher kleingehalten werden und beispielsweise auf die vom Apache bereitgestellten Protokolle (http) zurückgreifen kann. Ebenfalls können die Zugriffsbeschränkungen von Apache benutzt werden, um nur bestimmten Systemen im Netz Zugriff zu gewähren.

apt-cacher wird auf einem System im Netz installiert; dieses dient als lokaler Cache. Alle anderen Systeme im Netz müssen in der Konfiguration so angepasst werden, dass sie im Folgenden ausschließlich den apt-cacher Server verwenden.

apt-cacher bearbeitet Anfragen der anderen Systeme und holt bei Bedarf das gewünschte Debian Paket aus dem Netz. Dieses wird lokal auf dem Server gespeichert und steht so weiteren Systemen sofort zur Verfügung. Das Ganze verhält sich für die anderen Systeme im Netz völlig transparent, alle gewohnten Werkzeuge zur Paketverwaltung können weiterhin verwendet werden.

4.20.2 Installation

Die eigentliche Installation von apt-cacher erfolgt ausschließlich auf dem Server. An den anderen Systemen, die apt-cacher nutzen sollen, sind nur Anpassungen notwendig.

4.20.2.1 Server

Um einen apt-cacher-Server zu betreiben, sind keine besonderen Anforderungen an die Hardware zu erfüllen. Lediglich der Festplattenplatz sollte, je nach Nutzung, ausreichend bemessen sein. Werden die Adressen im Netzwerk via DHCP vergeben, so ist darauf zu achten, dass der Name/die IP-Adresse des Servers immer beibehalten wird.

Das Kommando

apt-get install apt-cacher

installiert die notwendige Software auf dem Server. Ebenso werden, falls noch nicht geschehen, der Apache-Webserver und einige weitere Pakete installiert. Abschließend ist noch der Webserver mittels

/etc/init.d/apache restart

von der Änderung zu unterrichten.

Um die Installation zu testen, kann mit einem Webbrowser die Adresse http://localhost/apt-cacher aufgerufen werden. Läuft der Browser nicht direkt auf dem Server, so ist natürlich localhost durch den Rechnernamen/die IP-Nummer zu ersetzen. Ist die Installation geglückt, so wird eine Informationsseite von apt-cacher ausgegeben.

4.20.2.2 Client

Auf der Client-Seite muss keinerlei Software installiert werden, lediglich eine Anpassung der Konfigurationsdatei für APT ist notwendig. Dabei können die bisherigen Einträge übernommen werden, müssen jedoch jeweils um die Angabe des Cache-Servers ergänzt werden.

deb http://cacheserver/apt-cacher/ftp.de.debian.org/debian stable main contrib non-free

Wichtig ist nur, dass diese Einträge auf allen Clients im Netz einheitlich sind.

4.20.3 Konfiguration

Nun steht bereits ein funktionsfähiger Cache im Netz zur Verfügung. Es können jedoch noch einige Anpassungen an der Konfiguration vorgenommen werden.

Die Konfigurationsdatei findet sich unter: /etc/apt-cacher/apt-cacher.conf

admin_email

Die E-Mail-Adresse, die in Reports angezeigt wird und an die bei Problemen Mails versendet werden.

generate_reports

Diese Option kann auf den Wert 1 gesetzt werden, um tägliche Nutzungsreports zu erstellen.

cache_dir

Ein Verzeichnis, in dem die Pakete und Paketlisten auf dem Server gespeichert werden.

logfile

In diesem Logfile wird die Nutzung des Servers dokumentiert. Diese Datei wird ebenfalls zur Erstellung von Reports genutzt.

errorfile

Logdatei für Fehlermeldungen.

expire_hours

Anzahl von Stunden, nach denen Paketlisten gelöscht werden. Dies beeinflusst nicht das Löschen von Paketen; diese werden entfernt, wenn sie nicht mehr in den Paketlisten aufgeführt werden.

http_proxy

Adresse und Port eines weiteren, externen Proxy-Servers.

use_proxy

Aktiviert die Nutzung des Proxys.

debug

Schaltet den Debug-Modus ein oder aus.

4.20.4 Reports

Ist die entsprechende Option aktiviert, so generiert apt-cacher einen täglichen Report. Dieser kann über die URL http://localhost/apt-cacher/report abgerufen werden.

 Impressum