Dieser Artikel wurde archiviert, da er - oder Teile daraus - nur noch unter einer älteren Ubuntu-Version nutzbar ist. Diese Anleitung wird vom Wiki-Team weder auf Richtigkeit überprüft noch anderweitig gepflegt. Zusätzlich wurde der Artikel für weitere Änderungen gesperrt.
Anmerkung: Programm nicht mehr in den Paketquellen enthalten
apt-proxy ist ein Programm, welches alle Pakete, die aus dem Internet heruntergeladen wurden, zwischenspeichert und da es sich wie ein HTTP-Server verhält, diese Pakete auch anderen Rechnern im Netzwerk verfügbar macht. Falls ein Paket nicht im Cache sein sollte, lädt apt-proxy dieses automatisch herunter und nimmt es im Cache auf. Dies kann die Anzahl der Downloads beträchtlich senken, gerade wenn mehrere Ubuntu-Rechner im Netzwerk mit Updates und Paketen versorgt werden müssen.
Weitere Programme mit ähnlichen Funktionen finden sich unter Lokale Paketquellen.
Das Programm ist bis einschließlich Ubuntu 10.04 in den offiziellen Paketquellen enthalten. Das zu installierende Paket [1] heißt:
apt-proxy (universe )
mit apturl
Paketliste zum Kopieren:
sudo apt-get install apt-proxy
sudo aptitude install apt-proxy
Nach der Installation muss die Datei /etc/apt-proxy/apt-proxy.conf (/etc/apt-proxy/apt-proxy-v2.conf vor Ubuntu 10.04), die gut kommentiert ist, bearbeitet [2] werden.
Im ersten Abschnitt der apt-proxy.conf werden die allgemeinen Einstellungen vorgenommen. Zuerst sollte man den Netzwerk-Bereich festlegen, den apt-proxy ansprechen darf. In der Basiseinstellung darf das gesamte Netzwerk den Proxy ansprechen, theoretisch auch Rechner aus dem Internet.
Möchte man dies vermeiden, so sollte man apt-proxy so konfigurieren, dass er nur auf die eigene interne IP hört, also z.B.
;; Server IP to listen on address = 192.168.0.10 ;; Server port to listen on port = 9999
Dabei kann man auch gleich den Port einrichten, unter dem der Proxy erreicht werden soll. Die Voreinstellung 9999 ist jedoch eine gute Wahl. Anschließend sollte man das Verzeichnis festlegen, wo apt-proxy seine Daten ablegen soll. Auf der Partition muss genügend Platz sein, daher hier bitte das Verzeichnis entsprechend auswählen.
;; Cache directory for apt-proxy cache_dir = /var/cache/apt-proxy
Wenn man eine Firewall benutzt, kann es Probleme mit aktiven FTP-Verbindungen geben. Die Option
;; Use passive FTP? (default=on) passive_ftp = on
sollte dies beheben. Es ist auch möglich, apt-proxy selber einen http-Proxy nutzen zu lassen. Server und Port sind hier anzugeben:
;; Use HTTP proxy? http_proxy = host:port
Die anderen Abgaben legen fest, wie lange ein Paket im Cache gehalten wird, wie alt ein Paket sein muss, ehe apt-proxy nach einer neueren Version sucht und wie oft der Cache nach alten Paketen durchsucht wird. Normalerweise kann man hier die Standardwerte verwenden.
Nun folgt die Konfiguration der sog. Backends, welche festlegt, von welchen Servern die von den Clients angeforderten Pakete bezogen werden können bzw. unter welchem Namen diese anzufordern sind.
Grundsätzlich unterscheidet man zwischen dynamischer Konfiguration der Backends, welche keine weiteren Einstellungen mehr in dieser Datei erforderlich macht, sowie einer statischen, die die zu verwendenden Backends fix festlegt.
Um diese Art der Backend-Konfiguration zu nutzen, muss lediglich die Zeile
;; Add HTTP backends dynamicaly if not already defined? (default=on) dynamic_backends = on
hinzugefügt werden.
Bei einer statischen Konfiguration sind Backends mit jeweils zugehörigen Servern zu definieren, welche im Falle einer Abfrage dieses Backends als Datenquelle verwendet werden.
Standardmäßig sind schon einige Debian- und Ubuntu-Quellen eingetragen. Zur Verwendung sollte man die Konfiguration noch so umstellen, dass ein deutscher Mirror-Server abgefragt wird. Also z.B.
;; Backend servers, in order of preference backends = http://ftp.us.debian.org/debian http://ftp.de.debian.org/debian http://ftp2.de.debian.org/debian ftp://ftp.uk.debian.org/debian [debian-non-US] ;; Debian debian-non-US archive ;timeout will be the global value backends = http://ftp.uk.debian.org/debian-non-US http://ftp.de.debian.org/debian-non-US ftp://ftp.uk.debian.org/debian [security] ;; Debian security archive backends = http://security.debian.org/debian-security http://ftp2.de.debian.org/debian-security [ubuntu] ;; Ubuntu archive backends = http://de.archive.ubuntu.com/ubuntu [ubuntu-security] ;; Ubuntu security updates backends = http://security.ubuntu.com/ubuntu
Für die Konfiguration der Clients (zugreifende Rechner) sind vier Möglichkeiten bekannt. Es müssen jeweils anschließend die Paketlisten erneuert werden (gilt nicht für die Einrichtung über Proxy) [3].
Man ändert die Einträge in der sources.list [4] wie folgt ab:
Man schreibt zwischen "http://" und der darauf folgenden Adresse SERVER
:PORT
. SERVER
kann die IP des Hosts von apt-proxy sein, ein Rechner-Name (bei funktionierender Namensauflösung im LAN -> DNS), oder (wenn der Server auf dem gleichem Rechner läuft) localhost
(bzw. 127.0.0.1). Für PORT
trägt man den Port der Anwendung auf dem Host ein (Standard: apt-proxy 9999
).
Aus:
deb http://de.archive.ubuntu.com/ubuntu/ hardy universe
wird (Beispiel: apt-proxy läuft auf dem Rechner mit der IP 192.168.0.4
auf dem Port9999
):
deb http://192.168.0.4:9999/de.archive.ubuntu.com/ubuntu/ hardy universe
bzw. wenn der symbolische Name (ubuntu_de de.archive.ubuntu.com/ubuntu/
) verwendet wird
deb http://192.168.0.4:3142/ubuntu_de/ubuntu hardy universe
Der schnellste Weg, die Clients für die Nutzung eines Caches/Proxies zu konfigurieren ist einen Proxy für apt festzulegen. Dazu muss in der Datei /etc/apt/apt.conf.d/01proxy (Dateiname ist ein Beispiel, Datei muss ggf. angelegt werden) folgendes eingetragen werden:
Acquire::http { Proxy "http://SERVER:PORT"; };
SERVER
kann die IP des Hosts von apt-proxy sein, ein Rechner-Name (bei funktionierender Namensauflösung im LAN -> DNS), oder (wenn der Server auf dem selben Rechner läuft) localhost
(bzw. 127.0.0.1
). Für PORT
trägt man den Port der Anwendung auf dem Host ein (Standard: apt-proxy 9999
. Es können zusätzlich symbolische Namen in der sources.list [2] verwendet werden.
An dieser Stelle wird auf die Wikiseiten zu den verschiedenen Paketmanagern verwiesen (Synaptic, Softwareverwaltung KDE,...). Grundsätzlich sind die selben Operationen wie beim manuellen Bearbeiten der sources.list [4] möglich.
Wer in seinem Netzwerk einen Proxyserver (z.b. Squid) betreibt, kann die Einrichtung elegant über einen "Redirect" erledigen. Hierzu werden die entsprechenden URLs (z.B. http://de.archive.ubuntu.com
) gefiltert und an den Server umgeleitet.
Diese Art der Konfiguration ist vor allem für Laptops, die in verschiedenen (W-)LANs eingesetzt werden von Vorteil und erspart in großen Netzwerken ( > 20 Teilnehmer) Konfigurationsaufwand.
Eine Konfiguration auf den einzelnen Clients ist nicht erforderlich.
Siehe hierzu: Squid-Handbuch -> 6.2 Routing-Optionen zu anderen Proxys -> cache_peer_domain
Werden am Proxy-Server statisch definierte Backends verwendet, so sind an den Zeilen der /etc/apt/sources.list zusätzliche Änderungen vorzunehmen.
Grundsätzlich sehen die Zeilen so aus
deb http://APTPROXY:PORT/backend dist component
APTPROXY
: Hostname oder IP des Proxys
PORT
: Port unter dem der Proxy horcht (default 9999)
backend
: Name des am Proxy definierten und zu verwendenden Backends
Um auf das weiter oben festgelegte Ubuntu-Repository zuzugreifen, muss die entsprechende Zeile demnach so aussehen:
Hier nochmal das am Proxy festgelegte Backend:
[ubuntu] ;; Ubuntu archive backends = http://de.archive.ubuntu.com/ubuntu
Ursprüngliche Zeile in der /etc/apt/sources.list:
deb http://de.archive.ubuntu.com/ubuntu/ intrepid universe
Zeile bei Verwendung des am Proxy definierten Backends:
deb http://APTPROXY:PORT/ubuntu/ intrepid universe
(wobei /ubuntu/
dem Namen des Backends entspricht)
Aus den Quellenangaben
deb http://archive.ubuntu.com/ubuntu dapper main restricted universe multiverse deb http://security.ubuntu.com/ubuntu dapper-security main restricted universe multiverse
werden z.B. dann die Zeilen
deb http://APTPROXY:9999/ubuntu dapper main restricted universe multiverse deb http://APTPROXY:9999/ubuntu-security dapper-security main restricted universe multiverse
Sollten Client-Rechner, die unter Ubuntu Dapper laufen, Probleme haben den apt-proxy Server anzusprechen, so sollte in der Datei /etc/apt/apt.conf die Zeile
Acquire::http::Proxy "false";
in
Acquire::Proxy "false";
geändert werden. Anschließend sollten die Quellen neu eingelesen werden.
Falls im Profil die Umgebungsvariablen http_proxy oder HTTP_PROXY gesetzt werden (zu erkennen an export http_proxy=…
), wird es zu einer Fehlermeldung wie Verbindung fehlgeschlagen kommen (man beachte die apt-proxy-README-Datei). In diesem Fall sollte dieser Anweisungsblock aus dem globalen Profil entfernt werden.
AptProxy im englischen Ubuntu-Wiki - Grundlage dieser Anleitung
Zwischenlager - Debian-Installation puffern - Linux-User, 07/2004
Diese Revision wurde am 23. Juli 2015 12:41 von Justin-Time erstellt.