Wenn man mehrere Linux-Pcs im Einsatz hat, möchte man natürlich die Updates nur einmal aus dem Internet laden 
Um das zu erreichen, wird einer der PCs das apt-Repository und den Cache verwalten. Die anderen PCs nutzen dann diesen Cache ebenfalls mit. Dieser PC exportiert das apt-Verzeichnis als NFS-Server. Die anderen importieren dieses Verzeichnis dann.
Wie man den NFS-Server und die -Clients aufsetzt setze ich hier mal als bekannt vorraus
Eventuell richtet man sich noch eine eigene Gruppe apt und einen speziellen apt-user ein. Das rundet die Sache ab, ist aber nicht zwingend erforderlich. Diesem apt-user gewährt man dann root-Zugriff via sudo. Auch das setze ich als bekannt voraus.
Mein apt-cache und die apt-Verwaltungsdaten liegen in /local/packages
Dieses Verzeichnisse wird dann via NFS exportiert. Die anderen PCs mounten dieses Verzeichnis (NFS-Clients) und können dann von dort die Pakete holen und gegebenfalls auch neue Pakete dort einfügen. Die Clients müssen ja nicht zwingend die gleichen Pakete installiert haben
Damit apt mit dem Verzeichnis /local/packages arbeitet und nicht per default mit /var/cache/apt und /var/state/apt ist eine kleine Änderung an der /etc/apt/apt.conf.d/apt.conf erforderlich:
In der Sektion Dir "/" legt man die Verzeichnisstruktur für apt fest.
in diesem Beispiel also /local/packages als Wurzel.
Diese Verzeichnisstruktur erzeugt man mit
mkdir -p /local/packages/cache/apt/archives-9.1/partial
mkdir -p /local/packages/state/apt/lists-9.1/partial
touch /local/packages/cache/apt/archives-9.1/lock
touch /local/packages/state/apt/lists-9.1/lock
Wer mehrere SuSE Versionen hat, erzeugt dann eben noch weitere
mkdir -p /local/packages/cache/apt/archives-9.0/partial
mkdir -p /local/packages/state/apt/lists-9.0/partial
Auf den einzelnen Clients befindet sich dann nur noch die apt Konfiguration in /etc/apt. Und diese Konfiguration ist dann auf das jeweilige apt-Verzeichnis anzupassen, also die 9.0 SuSE-Kisten zeigen auf archives-9.0 und lists-9.0, die 9.1er SuSE-Kisten zeigen dann auf archives-9.1 und lists-9.1.
Damit der parallele Zugriff auf das apt-NFS-Verzeichnis funktioniert ist natürlich auf allen Rechnern der nfs-lock-daemon zu starten!!
Wer nur eine SuSE Version auf allen PCs hat, der könnte sogar die apt-Konfiguration ebenfalls auf dem /local/packages Verzeichnis aufsetzen und in ein /local/packages/etc/apt kopieren. Dazu ist dieser Block entsprechend anzupassen:
Die zentrale Konfiguration wird dann dem apt-get -c /local/packages/apt/etc/apt.conf .... mitgegeben
Um das zu erreichen, wird einer der PCs das apt-Repository und den Cache verwalten. Die anderen PCs nutzen dann diesen Cache ebenfalls mit. Dieser PC exportiert das apt-Verzeichnis als NFS-Server. Die anderen importieren dieses Verzeichnis dann.
Wie man den NFS-Server und die -Clients aufsetzt setze ich hier mal als bekannt vorraus
Eventuell richtet man sich noch eine eigene Gruppe apt und einen speziellen apt-user ein. Das rundet die Sache ab, ist aber nicht zwingend erforderlich. Diesem apt-user gewährt man dann root-Zugriff via sudo. Auch das setze ich als bekannt voraus.
Mein apt-cache und die apt-Verwaltungsdaten liegen in /local/packages
Dieses Verzeichnisse wird dann via NFS exportiert. Die anderen PCs mounten dieses Verzeichnis (NFS-Clients) und können dann von dort die Pakete holen und gegebenfalls auch neue Pakete dort einfügen. Die Clients müssen ja nicht zwingend die gleichen Pakete installiert haben
Damit apt mit dem Verzeichnis /local/packages arbeitet und nicht per default mit /var/cache/apt und /var/state/apt ist eine kleine Änderung an der /etc/apt/apt.conf.d/apt.conf erforderlich:
Code:
// Directory layout
Dir "/"
{
// Location of the state dir
State "local/packages/state/apt"
{
lists "lists-9.1/";
xstatus "xstatus";
userstatus "status.user";
status "/local/packages/status";
};
// Location of the cache dir
Cache "local/packages/cache/apt/" {
archives "archives-9.1/";
srcpkgcache "srcpkgcache-9.1.bin";
pkgcache "pkgcache-9.1.bin";
};
...
};
in diesem Beispiel also /local/packages als Wurzel.
Diese Verzeichnisstruktur erzeugt man mit
mkdir -p /local/packages/cache/apt/archives-9.1/partial
mkdir -p /local/packages/state/apt/lists-9.1/partial
touch /local/packages/cache/apt/archives-9.1/lock
touch /local/packages/state/apt/lists-9.1/lock
Wer mehrere SuSE Versionen hat, erzeugt dann eben noch weitere
mkdir -p /local/packages/cache/apt/archives-9.0/partial
mkdir -p /local/packages/state/apt/lists-9.0/partial
Auf den einzelnen Clients befindet sich dann nur noch die apt Konfiguration in /etc/apt. Und diese Konfiguration ist dann auf das jeweilige apt-Verzeichnis anzupassen, also die 9.0 SuSE-Kisten zeigen auf archives-9.0 und lists-9.0, die 9.1er SuSE-Kisten zeigen dann auf archives-9.1 und lists-9.1.
Damit der parallele Zugriff auf das apt-NFS-Verzeichnis funktioniert ist natürlich auf allen Rechnern der nfs-lock-daemon zu starten!!
Wer nur eine SuSE Version auf allen PCs hat, der könnte sogar die apt-Konfiguration ebenfalls auf dem /local/packages Verzeichnis aufsetzen und in ein /local/packages/etc/apt kopieren. Dazu ist dieser Block entsprechend anzupassen:
Code:
// Config files
Etc "local/etc/apt/" {
sourcelist "sources.list";
main "apt.conf";
preferences "preferences";
};