Kubuntu bzw. Ubuntu hat einen wunderschönen Paketmanager, Software kann einfach per Mausklick installiert und bei Nicht-Gefallen Restlos entfernt werden. Da können Benutzer anderer Betriebssysteme nur von träumen. Das Ganze funktioniert unter (K)Ubuntu viel problemloser von mir zuvor genutzten Linux-Distributionen. Ein Nachteil hat das .deb-System von Ubuntu dennoch: Die Datenmengen sind recht groß.
In der heutigen Zeit zwar kein Riesenproblem, jedoch ist die Wartezeit nervig wenn man wie ich des öfteren System für Freunde oder Verwandtschaft aufsetzt. Wie wäre es damit Pakete im lokalen Netz vorzuhalten? Es ist erstaunlich einfach.
Es scheinen mehrere Lösungen zu existieren, ich habe mich für Apt-Cacher NG entschieden. Eine ideale Lösung für ein Heimnetz, es lädt nur die Pakete herunter, die von den Clients angefordert werden. Hier ist die Schritt-für-Schritt Anleitung, quasi eine Kurzfassung von Apt-Cacher NG.
- Ein zentraler Computer „Server“ fungiert als Paketcache oder -proxy. Auf diesem muss das Apt-Cacher NG installiert werden:
sudo apt-get apt-cacher-ng
eine Konfiguration ist meiner Meinung nach nicht nötig. - Um diese Installation zu testen, bitte einmal die Webseite „http://192.168.12.34:3142/“ aufrufen. Statt 192.168.12.34 entsprechend die ip-Adresse Eures zentralen Computers nutzen (Kommandozeile: ip addr). Die Seite sieht ein wenig wirr aus „The requested page is not accessible.“, enthält jedoch die weiteren Schritte.
- Nun müssen die Clients auf den Proxy konfiguriert werden, unter anderem auch der zentrale Computer. Apt-Cacher NG ist ein Serverdienst, der unabhängig von der lokalen Paketverwaltung läuft. Dazu am besten für die Paketverwaltung einen Proxy konfigurieren: Mit Root-Rechten eine Datei /etc/apt/apt.conf.d/01proxy folgenden Inhalts anlegen:
Acquire::http { Proxy „http://192.168.12.34:3142“; };
zum Beispiel via
kdesudo kate /etc/apt/apt.conf.d/01proxy
bitte die 192.168.12.34 durch die IP Eures zentralen Computers ersetzen. - Die bereits vor Apt-Cacher NG heruntergeladenen .deb-Pakete können wiederverwendet werden. Dazu muss ein beliebiger Client ein Update der Paketliste angefragt haben.
sudo apt-get update - Die .deb-Dateien in ein _import-Verzeichnis umkopieren
sudo mkdir -p /var/cache/apt-cacher-ng/_import
sudo chown apt-cacher-ng /var/cache/apt-cacher-ng/_import
sudo cp -al /var/cache/apt/archives/* /var/cache/apt-cacher-ng/_import/ - Und als letzten Schritt über die Webseite „http://192.168.12.34:3142/acng-report.html“ ganz unten die „Start Import“-Schaltfläche klicken.
Jeder neue Client im Heimnetz, muss nur eine /etc/apt/apt.conf.d/01proxy kopiert bekommen und schon laufen auch die längsten Updatedownloads aus dem schnellen Heimnetz.
Update 1: Es kann schon mal passieren, dass einzelne Paketlisten auf den Clients wegen Fehlern nicht geladen werden. Dies erledigt sich von Alleine, wenn apt-cacher-ng den nächsten Säuberungslauf fährt. Möchte man per Web Interface selbst eingreifen, so wird das konkrete Löschen einzelner Indexdateien verwehrt: „Not Authorized. To start this action, an administrator password must be set and you must be logged in.“ Dazu muss ein Admin-Password gesetzt werden.
sudo vim /etc/apt-cacher-ng/security.conf
Eine Zeile einfügen:
AdminAuth: admin:<your password here>
sudo service apt-cacher-ng restart
Update 2: Das Paket ttf-mscorefonts
kdesudo kate /etc/apt-cacher-ng/acng.conf
Die mit „#PfilePattern…“ beginnende Zeile suchen, das „.exe|“ ergänzen und das „#“ entfernen.
PfilePattern = .*(.deb|.rpm|.exe|.dsc|.tar.gz.gpg|.tar.gz|.diff.gz|.diff.bz2|.jigdo|.template|changelog|copyright|.udeb|.diff/.*.gz|vmlinuz|initrd.gz|(Devel)?ReleaseAnnouncement(\?.*)?)$
Nun den Service Neustarten und fehlerfrei installieren.
sudo service apt-cacher-ng restart sudo apt-get install ttf-mscorefonts-installer
Update 3: Leider sorgt das VirtualBox Repository des Öfteren für „invalid signatures“, BADSIG oder Checksum Fehler. Keine Ahnung was die eleganteste Lösung ist, hier der Holzhammer. Auf den Clients ggf. die erste Zeile weglassen, bis dato reichte es bei mir aus den Server (und somit einen Client) zu säubern.
sudo rm -rf /var/cache/apt-cacher-ng/download.virtualbox.org/ sudo apt-get clean sudo rm /var/lib/apt/lists/* sudo rm /var/lib/apt/lists/partial/* sudo apt-get update