approx - ein Proxy für apt


approx ist ein Proxy für die Paketverwaltung apt. Es speichert alle deb-Pakete, die von einem der Debian-Spiegelserver heruntergeladen, wurden zwischen. Fordert ein weiterer Rechner im Netzwerk dieses Paket an, so stellt es approx zur Verfügung, und es muss nicht wieder über das Internet heruntergeladen werden. Somit wird die Anzahl der Downloads erheblich gesenkt. Es ist vergleichbar mit dem apt-proxy, approx ist aber schneller und stabiler, außerdem wird es aktiver weiterentwickelt. Standardmäßig übernimmt bei Skolelinux der http-Proxy (squid) diese Aufgabe, approx bietet aber einige Geschwindigkeitsvorteile, außerdem lassen sich die Pakete damit besser verwalten.

Inhaltsverzeichnis

Installation

Die Installation des approx ist sehr einfach. Man kann ihn direkt mit apt-get aus den Paketquellen installieren. Dazu loggt man sich auf tjener ein, und gibt

apt-get install approx 

ein.

Konfiguration

Die Konfigurationsdatei heißt approx.conf und liegt in /etc/approx/. Die Datei ist gut kommentiert. Außerdem gibt

man approx.conf  

weitere Informationen.

Spiegelserver angeben

Die Spiegelserver werden in dieser Weise angegeben:

debian          http://ftp.debian.org/debian 
unstable        http://ftp2.de.debian.org/debian 
security        http://security.debian.org/debian-security 
volatile        http://volatile.debian.org/debian-volatile 
backports       http://backports.debian.org/debian-backports 
skolelinux      http://ftp.skolelinux.org/skolelinux/ 

approx einrichten

Es sind eigentlich nur drei Angaben wichtig:

$interface      any 
$port           9999 
$max_wait       10 

Dabei ist:

$interface
Die Netzwerkschnittstelle, auf der der Server lauscht.
$port
Der Port auf dem der Server lauscht.
$max_wait

Lädt approx gerade eine Datei herunter, die auch ein zweiter Rechner anfragt, kann diese noch nicht verwendet werden, da sie noch nicht vollständig ist. $max_wait sorgt dafür, dass approx 10 Sekunden wartet, um den Download zu beenden. Ist der Download nach 10 Sekunden nicht beendet, lädt er die Datei ein zweites Mal herunter und leitet sie direkt an den zweiten Rechner weiter. Bei langsamen Internetverbindungen muss dieser Wert entsprechend erhöht werden.

approx neustarten

Damit die Änderungen wirksam werden, muss approx noch neu gestartet werden. Auf tjener gibt man dazu

/etc/init.d/approx restart 

ein. Die letzte Ausgabe sollte [ OK ] sein. Ansonsten liegt wahrscheinlich ein Fehler in der Konfigurationsdatei vor.

Einrichten der Clients

Den Clients muss nun noch mitgeteilt werden, dass sie nicht mehr direkt auf das Internet zugreifen, sondern ihre Anfrage an approx richten sollen. Dieses erreicht man, indem man die sources.list unter /etc/apt/ editiert. Steht dort z. B. dieser Eintrag

deb http://ftp.debian.org/debian/ lenny main contrib non-free 
deb http://ftp.skolelinux.org/skolelinux/ lenny local  

so muss er in (Servername: tjener; port: 9999)

deb http://tjener:9999/debian/ lenny main contrib non-free 
deb http://tjener:9999/skolelinux/ lenny local  

geändert werden. Die Unterverzeichnisse /debian/ und /skolelinux/ verweisen auf die Abschnitte, die zuvor in der Konfigurationsdatei eingerichtet wurden.

Verwendung mit einer preseed-Datei

Installiert man die Clients unbeaufsichtigt mit einer preseed-Datei, so kann man natürlich auch darin approx verwenden.

Die Spiegelserver, die während der Betriebssysteminstallation verwendet werden soll, wird so festgelegt:

d-i     mirror/http/hostname    string tjener:9999 
d-i     mirror/http/directory   string /debian/ 
d-i     mirror/suite            string lenny  

Die Spiegelserver die für die Pakete verwendet werden sollen, definiert man so:

d-i     apt-setup/uri_type      select d-i d-i     apt-setup/hostname      string tjener:9999 
d-i     apt-setup/directory     string /debian/ 
d-i     apt-setup/another       boolean false       
d-i     apt-setup/security-updates      boolean false 
d-i     finish-install/reboot_in_progress note 
d-i     prebaseconfig/reboot_in_progress        note 
d-i     apt-setup/non-free      boolean true 
d-i     apt-setup/contrib       boolean true 
d-i     apt-setup/backports     boolean true  

Für die Backports (um z. B. OpenOffice >3) zu installieren, verwendet man folgende Einträge:

d-i apt-setup/local0/repository string http://tjener:9999/backports lenny-backports 
d-i apt-setup/local0/comment string Backports fuer Lenny 
d-i apt-setup/local0/source boolean false 
d-i apt-setup/local0/key string http://backports.org/debian/archive.key 

Möchte man bei der Paketauswahl ein Paket aus den Backports installieren, so muss man an den Paketnamen /lenny-backports anhängen

d-i pkgsel/include string openoffice.org/lenny-backports openoffice.org-gnome/lenny-backports ... 

Alternativen

Die gleiche bzw. ähnliche Funktion erfüllen auch:

apt-proxy

wiki:apt-proxy

apt-cacher

http://debiananwenderhandbuch.de/apt-cacher.html

apt-mirror

http://apt-mirror.sourceforge.net/

approx (zuletzt geändert am 2013-11-03 12:10:45 durch anonym)

Alle Inhalte in diesem Wiki stehen unter der GPL.