Approx [Debian-Paket-approx] ist ein Proxyserver für Debianpakete und dient als Paketcache zwischen einem Paketmirror und Debian-basierten Clients. Mit Approx halten Sie Debianpakete vor, die von den Clients zur lokalen Installation oder Aktualisierung angefragt werden und liefern diese aus dem Paketcache an die Clients aus.
Gemäß der Selbstbeschreibung von Approx sind lediglich die Repositorys
in den Konfigurationsdateien von Approx anzupassen, jedoch nicht die
Konfigurationsdateien jedes Clients selbst (bspw.
/etc/apt/sources.list
). In der Realität sieht es jedoch etwas anders
aus und es sind ebenfalls Änderungen in den Clients notwendig, damit
diese mit dem Paketproxy kommunizieren (siehe
„Client“).
Approx präsentiert sich als Alternative zu APT Cacher (siehe Abschnitt 28.4, „apt-cacher“) und APT Cacher-NG (siehe Abschnitt 28.5, „apt-cacher-ng“), dem Nachfolger von APT Cacher.
Als ersten Schritt laden Sie das Paket approx [Debian-Paket-approx]
herunter und installieren es, bspw. mittels apt-get
wie folgt:
Installation von Approx mit apt-get
.
apt-get install approx
Das Paket approx ist rund 1.5 MB groß und belegt nach dem Entpacken des Softwarearchivs etwa 6.6 MB Platz in ihrem System. Weitere Pakete sind zur Installation nicht erforderlich. Die Schritte 2 und 3 beinhalten nun die Konfiguration des Approx-Serverdienstes (siehe „Server“ und der Clients (siehe „Client“).
Hierzu passen Sie zunächst die Datei /etc/approx/approx.conf
auf ihre
eigenen Bedürfnisse an. Approx versteht dazu eine Reihe von Variablen in
Form von Name-Wert-Paaren, wobei Name und Wert mit mindestens einem
Leerzeichen voneinander zu trennen sind. Darüber steuern Sie die
Funktionalität des Service. Nachfolgend listen wir diese Variablen samt
deren Bedeutung in alphabetischer Reihenfolge auf.
$cache
/var/cache/approx
.
$curl_path
curl
fest. Der
Defaultwert ist /usr/bin/curl
.
$debug
false
und somit
ausgeschaltet.
$group
approx
.
$interval
$max_rate
unlimited
für unbegrenzte Bandbreite. Geben Sie
stattdessen einen Zahlenwert an und ergänzen ihn mit K
, M
oder G
,
begrenzen Sie die Bandbreite auf den entsprechenden Wert in Kilobyte,
Megabyte oder Gigabyte pro Sekunde.
$max_redirects
$max_wait
$offline
false
und diese Funktionalität ist somit
ausgeschaltet.
$pdiffs
true
für eingeschaltet.
$syslog
daemon
.
$user
approx
.
$verbose
false
und somit ausgeschaltet.
Alle weiteren Einträge bezeichnen den Namen und die URL eines Paketmirrors, von denen Approx im Falle einer Anfrage passende Softwarepakete suchen und beziehen soll. Bitte beachten Sie, dass hierbei keine Veröffentlichung oder ein Distributionsname angegeben wird. Diese Angabe verbleibt in der Konfiguration des Clients.
Nachfolgend sehen Sie in beispielhaft die Einstellungen für einen
Paketmirror, welcher die Softwarepakete unter /var/cache/paketcache
zwischenpuffert.
Beispielkonfiguration für Approx.
debian http://deb/debian.org/debian security http://security.debian.org/debian-security $interval 60 $max_wait 10 $cache /var/cache/paketcache
Ohne weitere Änderungen lauscht Approx auf dem Port 9999 für Anfragen
von Clients. Um das zu ändern und Approx bspw. auf Port 8000 lauschen zu
lassen, passen Sie die Servicebeschreibung von Approx an. Verwenden Sie
Systemd als Prozessmanager, hilft ihnen dabei das Kommando systemctl
weiter.
Anpassen der Servicebeschreibung von Approx bei Systemd.
systemctl edit approx.socket
Die Servicebeschreibung beinhaltet die drei Abschnitte Unit, Socket
und Install. Ändern Sie im Abschnitt Socket die Einstellung
ListenStream=9999
auf ListenStream=8000
.
Veränderte Servicebeschreibung von Approx bei Systemd.
[Unit] Description=caching proxy server for Debian archive files Documentation=man:approx(8) [Socket] ListenStream=8000 Accept=yes [Install] WantedBy=sockets.target
Starten Sie anschließend Approx mittels systemctl restart
approx.socket
neu, um die Änderungen auch wirksam werden zu lassen.
Verwenden Sie hingegen Init.d als Prozessmanager, ändern Sie zunächst
in der Konfigurationsdatei /etc/inetd.conf
diese Zeile von
9999 stream tcp nowait approx /usr/sbin/approx /usr/sbin/approx
in
8000 stream tcp nowait approx /usr/sbin/approx /usr/sbin/approx
und speichern die Konfigurationsdatei. Danach starten Sie Approx wie folgt neu:
/etc/init.d/approx restart
Danach passen Sie die Konfiguration des Clients an — dieser soll ja jetzt auch mit dem APT-Cache kommunizieren und nur darüber seine Softwarepakete beziehen.
Die Konfiguration des Clients passen Sie in drei Schritten an. Schritt
1 ist die Ergänzung der Datei /etc/hosts
um den APT-Cache mit der
entsprechenden IP-Adresse und dem Hostname. Heißt ihr APT-Cache skye
und hat die IP-Adresse 192.168.10.250, fügen Sie diesen Eintrag zur
Datei hinzu:
192.168.10.250 skye
In Schritt 2 ergänzen Sie in der Datei /etc/apt/sources.list
die
Einträge der Paketmirror um den Verweis auf den zuvor angelegten
APT-Cache.
deb http://skye:8000/debian stable main contrib non-free deb-src http://skye:8000/debian stable main contrib non-free deb http://skye:8000/security stable/updates main contrib non-free
Schritt 3 ist das abschließende Aktualisieren der lokalen Paketliste
mittels apt-get update
. Jetzt kennt ihr Client den APT-Cache und
bezieht alle Softwarepakete über ihn.