Debian-Installation puffern

Aus LinuxUser 07/2004

Debian-Installation puffern

Zwischenlager

Wer mehrere Debian-Rechner in seinem Netz betreibt, muss beim Installieren und beim täglichen Update immer die gleichen Pakte aus dem Internet ziehen. Das kostet nicht nur Zeit und Geld, sondern ist auch technisch unelegant. Eine stets aktuelle Lagerstatt für Debian-Pakete schafft die Wende.

Apt ist eine Sammlung von Programmen, die Debian-Pakete aus verschiedenen Quellen installiert und verwaltet. Ihr ist auch die Möglichkeit zu verdanken, die Distribution großteils übers Netz zu ziehen. Zum einen haben Debian-Besitzer so stets die aktuellen Pakete auf dem Rechner. Anders als beim heruntergeladenen ISO-Image laufen zum anderen nur die wirklich zu installierenden Pakete übers Netz. Dieser positive Effekt verwischt sich leider, sobald mehrere Debian-Rechner im lokalen Netz zu installieren und pflegen sind. Jeder PC holen dann die gleichen Pakete wie der Nachbar von Extern – eine Verschwendung kostbarer Ressourcen.

Abhilfe schafft ein Proxy-Server, der zwischen die Debian-Paketeserver im Internet und den lokalen Debian-Rechnern geschaltet ist. Linux hält mehrere Programme bereit, die diese Aufgabe erfüllen können. Sehr leistungsfähig ist Apt-Proxy. Er speichert einmal übertragene Pakete auf der Festplatte zwischen und liefert sie auf Client-Anfrage (nochmal) aus. Natürlich kontrolliert er beim großen Server zuvor, ob der nicht inzwischen eine neuere Version vorliegen hat.

Debian-typisch flotte Installation

Das hier beschriebenen Shell-Skript apt-proxy ist aktuell in der stabilen Version 1.3 Teil der Debian-Distribution. Wer mag kann das Programm auch von der Apt-Proxy-Homepage [1] holen und installieren. Zwei Programmierer arbeiten an einer Neuentwicklung, die von der Produktionsreife aber noch weit entfernt ist. Nur wer diese Herausforderung liebt, installiert Apt-Proxy 2 aus Debians experimental-Zweig.

Die Installation des Programmes geht Debian-typisch einfach:

cassiopeia:~# apt-get install apt-proxy

Die Installationsprozess nimmt selbstständig einige Konfigurationen vor: So legt er den Systemaccount aptproxy an damit der Prozess nicht mit Rootrechten läuft. Außerdem macht er in der Datei /etc/inetd.conf dem System den Port 9999 bekannt. Greift nun ein Client auf Port 9999 zu, registriert das der inetd-Prozess und startet das apt-proxy-Skript, das die Verbindung übernimmt.

Der Proxy ist jetzt schon nutzbar. Trotzdem ist noch ein Blick in seine Konfigurationsdatei /etc/apt-proxy/apt-proxy.conf sehr sinnvoll, denn einige Angaben in ihr sind auskommentiert. Deren Aktivierung bieten, je nach Einsatzfall, neue oder abgewandelte Funktionen. Tabelle 1 gibt Auskunft über die einzelnen Optionen und deren Nutzen.

Tabelle 1: Variablen der apt-proxy.conf

Variable Möglicher Wert Bedeutung
APT_PROXY_CACHE Verzeichnis Toplevel-Verzeichnis der zwischengespeicherten Binärpakete.
add_backend Debian-Distribution und Quelle Debian-Zweig und die passende URL, von der die Pakete stammen.
CLEANUP_DAYS Tage Anzahl der Tage, nach der Apt-Proxy veraltete Paketversionen löscht, auf die kein Client zwischenzeitlich zugegriffen hat.
CLEAN_SWEEP Tage Pakete, auf die Clients lange nicht angefordert haben, löscht Apt-Proxy nach dieser Zeit.
MAX_VERSIONS Anzahl Legt fest, wie viele Versionen eines Paketes gecacht bleiben. Die Option ist vor allem für die Zweige unstable und experimental interessant, die fehlerhafte Pakete enthalten könnten.
BACKEND_FREQ Minuten Minimaler Zeitabstand, in dem Apt-Proxy Paketlisten aktualisiert.
RSYNC_TIMEOUT Sekunden Zeit, die rsync maximal bis zum Connect zum Upstreamserver wartet.
WGET_TIMEOUT Sekunden Zeit, die wget maximal bis zum Connect zum Upstreamserver wartet.
WGET Dateiname inklusive Pfad und Optionen Falls wget spezielle Optionen zu übergeben.
RSYNC Dateiname inklusive Pfad und Optionen Falls rsync spezielle Optionen zu übergeben sind.
KEEP_STATS protokolliert Transferdaten, falls aktiviert.
DEBUG Protokolliert Debugmeldungen, falls aktiviert.

Die add_backend-Einträge bestimmen, welche Server Apt-Proxy für einen bestimmten Debian-Zweig – auch Distributionen genannt – kontaktiert. Die Syntax folgt dem Schema

add_backend Backend-Name Cache-Verzeichnis Server

Auf gleiche Weise lassen sich pro Zweig mehrere Server nacheinander eintragen. Wer weitere Quellen plant, kann aus Kasten 1 entnehmen, wie er einen bestehenden Eintrag der Datei sources.list umsetzt. Die abschließenden Slashes sind zwingend nötig, sonst würde der Eintrag falsch interpretiert.

Übertragungsprotokoll zum Server

Neben FTP und HTTP kann Apt-Proxy auch rsync verwenden, um Pakete zu holen. Die rsync-Variante ist hier jedoch ungünstig, da das Tool nur bei einzelner Dateien effektiv überträgt. Die beiden export-Zeilen am Ende der Konfigurationsdatei setzen korrepondierende Umgebungsvariablen für wget und rsync gesetzt. Sie beeinflussen nicht direkt das Verhalten von Apt-Proxy, sondern der beiden Übertragungstools.

Umsetzung einer

/etc/apt/sources.list

Alte Einträge in <C>sources.list<C>:

deb  http://download.kde.org/stable/3.2/Debian  stable  main
deb  http://www.backports.org/debian  stable  mozilla
deb  http://ftp.tiscali.be/debian-backports/debian stable package  stable  mozilla
deb  http://kambing.vlsm.org/DLL/debian-backports/debian  stable  mozilla

Neuer Einträge in sources.list:

deb  http://Proxy-Server:9999/kde  stable  main
deb  http://Proxy-Server:9999/backports/  stable  mozilla

Neue apt-proxy.conf-Datei auf dem Server

add_backend  /kde/  $APT_PROXY_CACHE/kde/  http://download.kde.org/stable/3.2/Debian/
add_backend  /backports/  $APT_PROXY_CACHE/backports/  http://www.backports.org/debian/ http://ftp.tiscali.be/debian-backports/debian/ http://kambing.vlsm.org/DLL/debian-backports/debian/

Die Clientkonfiguration

Läuft der Proxy-Server, muss natürlich den Client-Computer beigebracht werden, ihre Pakete künftig von ihm zu holen statt wie bisher bei ftp.debian.org. Das passiert in der Datei apt.conf. Listing 2 zeigt die zu den bisherigen Beispielen passenden Werte. Abschließend holt apt-get update einfach die neue Liste der verfügbaren Pakete. Installieren die Clients auch Pakete aus den Entwicklungszweigen testing, unstable und experimental, muss die Server-Konfiguration das berücksichtigen – wie esKasten 1 zeigt.

Listing 2

Eine Proxy-geeignete

/etc/apt/sources.list

deb http://Proxy-Server:9999/debian stable main contrib non-free
deb http://Proxy-Server:9999/kde stable main
deb http://Proxy-Server:9999/security stable/updates main contrib non-free
deb http://Proxy-Server:9999/backports/ stable mozilla

Die im Laufe der Zeit zwischengespeicherten Pakete nehmen viel Platz auf der Platte in Anspruch. Darum sollte immer ausreichend freier Plattenplatz vorhanden sein. Wie so oft fällt es schwer, einen Schätzwert anzugeben – weniger als 8 GByte sollten es aber nicht sein. Wer, wie es empfehlenswert ist, regelmäßig Backups vom Rechner anfertigt, darf dabei das Verzeichnis von der Sicherung ausgesparen. Im Verlustfall sind die Pakete leicht wieder besorgt.

Glossar

Proxy

Rechner, der anstelle (Proxy = Stellvertreter) eines anderen Internetdienste zur Verfügung stellt. Oft greifen viele Rechner und Benutzer eines Netzwerkes auf die Dienste eines Proxys zurück.

inetd

Der so genannte Super-Daemon in Linux wartet auf Netzwerkzugriffe. Trifft ein solcher ein, startet und kontrolliert inetd dazu passende Service-Programme.

Umgebungsvariable

Frei definierbare Variablen, die das Betriebssystem verwaltet. Das Verhalten vieler Programme und auch das der Shell sind über Umgebungsvariablen steuerbar. Sowohl der Benutzer als auch Programme und Skripte dürfen solche Variablen anlegen und Variableninhalte ändern.

Infos

[1] Apt-Proxy-Homepage: http://apt-proxy.sourceforge.net

LinuxUser 07/2004 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben