Kapitel 5. Paketmanagement
Zurück | 5.19 `apt-cacher` | Weiter

## 5.19 `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.

### 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, dass man verhindern muss, 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.

### 5.19.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 kann 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.

### 5.19.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.

#### 5.19.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 werden. 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.

#### 5.19.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.

### 5.19.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.

### 5.19.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.

Zurück | Nach oben | Weiter
5.18 `apt-cache` | Zum Anfang | 5.20 `apt-proxy`

© 1999-2006 Frank Ronneburg - Dieser Inhalt ist unter einem Creative Commons Namensnennung - Nicht-kommerziell - Keine Bearbeitung Lizenzvertrag lizenziert (creativecommons.org/licenses/by-nc-nd/2.0/de/legalcode).