{{tag> apt-cacher}}
====== Apt-Cacher ======
vgl. auch [[http://wiki.ubuntuusers.de/Lokale_Paketquellen/Apt-Cacher-ng]]
===== Server-Installation =====
Das Paketverwaltungstool apt kann anstatt auf Server im Internet auf einen lokalen Server zugreifen.\\
Hierzu habe ich
* eine neue VM erstellt,
* sie an den virtuellen Switch des grünen Netzes angeschlossen
* darin ein Ubuntu 12.04 server installiert,
* ihm eine IP gegeben (z.B. 10.16.1.2) und dann mit
* apt-get install apt-cacher-ng
den apt-cacher installiert.
* dann in der /etc/apt-cacher-ng/acng.conf die Zeilen
CacheDir: /var/cache/apt-cacher-ng
LogDir: /var/log/apt-cacher-ng
Port:3142
angepasst. Die Portnummer wurde glaube ich vorgeschlagen, wenn man sie ändert, muss man sie natürlich überall ändern.
* in der /etc/apt-cacher-ng/security.conf ein Admin-Passwort gesetzt: AdminAuth: admin:
* Jetzt kann man unter http://10.16.1.2:3142 ein kleines Web-Frontend erreichen (alte gecachte Pakete purgen etc).
===== Anpassungen auf dem Client =====
* in /etc/apt/sources.list bzw. in denen im Unterverzeichnis sources.d müssen die Zeilen nun angepasst werden:
deb http://10.16.1.2:3142/security.ubuntu.com/ubuntu roaring-security main restricted
usw.
* Alternativ kann man für alle sourcen gleichzeitig ein Proxy festlegen, indem man folgende Datei erstellt:
Acquire::http { Proxy "http://172.16.17.2:3142"; };
Acquire::https { Proxy "https://"; };
* Wer Probleme mit z.B. oracle zum Download der jeweiligen Dateien während des Installationsprozesses bekommt, der kann Ausnahmen vom Proxy festlegen:
Acquire::http::Proxy {
"http://172.16.17.2:3142";
"http://download.oracle.com" DIRECT;
};
Acquire::https::Proxy { "https://"; };
* ein sudo apt-get update zum Test ist sinnvoll (hat man alle geändert etc.)
* Nun müssen die Benutzer installieren dürfen. Entweder mit apt-get oder mit ubuntu-software-center. Dazu müssen die sudo-Kommandos erlaubt sein, also mit sudo visudo
eine Zeile einfügen:
* wenn die Benutzer ALLES dürfen sollen (mache ich so, dafür synce ich immer): ALL ALL=(ALL) ALL
* oder nur für das software-center: ALL ALL=(ALL) NOPASSWD:/usr/bin/software-center
oder entsprechend apt-get reineditieren.
* will man das ubuntu-software-center nutzen (die Kommandozeile schreckt evtl. ab), dann muss man noch in /usr/share/applications/ die Datei ubuntu-software-center.desktop ändern bzw. erstellen mit dem Inhalt [Desktop Entry]
Name=Ubuntu Software Center
GenericName=Software Center
Comment=Lets you choose from thousands of applications available for Ubuntu
Exec=sudo /usr/bin/software-center %u
Icon=softwarecenter
Terminal=false
Type=Application
Categories=PackageManager;GTK;System;Settings;
MimeType=application/x-deb;application/x-debian-package;x-scheme-handler/apt;
StartupNotify=true
X-Ubuntu-Gettext-Domain=software-center
Keywords=Sources;PPA;Install;Uninstall;Remove;Purchase;Catalogue;Store;
* alternativ könnte man auch synaptics nutzen, das ist dann eben ein Zwischending von apt und dem bunti-bunti-Softwarecenter.
* Man muss sich nun überlegen, ob man automatisch die neuen Listen (apt-get update) einlesen lässt, damit nicht veraltete Pakete gesucht werden, weil der Client nicht aktuell ist. Alternativ kann man seinen Leuten beibringen, vorher sudo apt-get update zu machen.
* Probleme mit nicht zertifizierten Paketen etc. hatte ich bisher nicht, vll. kommen da noch Posts bzw. Hinweise.