Wie lokalen Paket-Cache eintragen?

german

#1

Hallo,

ich würde gerne einen lokalen Paket-Cache (konkret verwendet wird apt-cacher NG, der auf Port 9999 lauscht) eintragen, damit der Download von Updates / Software schneller erledigt werden kann. Mit anderen Debian-basierten Distributionen funktioniert das bereits.
Manuell die source.list-Dateien anzupassen funktioniert solange, bis sie neu generiert werden und fällt daher als ernstzunehmende Lösung eigentlich schon flach.

Wenn ich versuchen repository/online/server in der UCR anzupassen, können anschließend die Dateien nicht mehr erstellt werden.
Versucht habe ich:

ucr set repository/online/server='http://cacher.domain.local:9999/updates.software-univention.de/'

Raus kommt dann die folgende Fehlermeldung in den Dateien:

[code]# An error occurred during the repository check. The error message:

Traceback (most recent call last):

File “”, line 13, in

File “/usr/lib/pymodules/python2.7/univention/updater/tools.py”, line 579, in init

self.ucr_reinit()

File “/usr/lib/pymodules/python2.7/univention/updater/tools.py”, line 665, in ucr_reinit

raise ConfigurationError(uri, ‘non-existing prefix “%s”: %s’ % (self.repourl.path, uri))

ConfigurationError: Configuration error: non-existing prefix “/updates.software-univention.de/”: http://cacher.domain.local:9999/updates.software-univention.de/

#[/code]

Ist das überhaupt das richtige Setting, welches ich da versuche zu ändern?
Was ist der eleganteste Weg einen entsprechenden Cache auf dem einem UCS-System einzutragen?

Gruß

PS: Falls relevant: Getestet wurde mit UCS 4.1-2


#2

Moin,

der Server, der in der UCR-Variablen »repository/online/server« angegeben wird, beherrbergt nicht nur die Debian-Pakete sondern auch Upgrade-spezifische Scripte und weitere Informationen, die alle vom »univention-upgrade«-Tool heruntergeladen werden. Daher muss eine Proxy-Lösung all diese Requests auch weiter durchreichen. apt-cacher tut das vermutlich nicht.

Es gibt hier zwei Varianten, die ich meistens fahre:

[ol][li]UCS bietet einen eigenen Mechanismus zum Vorhalten von lokalen Repositories. Das bedeutet, dass auf einem der UCS-Server praktisch ein kompletter Mirror der UCS-Pakete vorgehalten wird. Die anderen UCS-Server werden dann so konfiguriert, dass sie dieses lokale Repository nutzen. Wie das einzurichten ist, das steht in der Admin-Doku. Der Nachteil der Lösung ist freilich, dass dabei viel Platz von Paketen belegt wird, die man nie benötigt.[/li]
[li]Variante 2 ist der klassiche Proxy (z.B. Squid, polipo etc.), der über die UCR-Variablen »proxy/http« und »proxy/https« eingetragen wird. Der Proxy selber sollte ein ausreichend großes Cache-Verzeichnis konfiguriert bekommen (mehrere GB für Distributionsupdates).[/li][/ol]

LG,
mosu