Zentrales Update für verschiedene PCs mit apt: Unterschied zwischen den Versionen
Yehudi (Diskussion | Beiträge) |
Itu (Diskussion | Beiträge) K (Itu verschob Seite Zentrales Update für verschiedene PCs mit apt nach Zentrales Update für verschiedene PCs mit apt: fix/utf) |
||
(4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Wenn man mehrere Linux- | + | 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. | 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 | + | Wie man den NFS-Server und die -Clients aufsetzt setze ich hier mal als bekannt voraus. |
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. | 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. | ||
Zeile 48: | Zeile 48: | ||
mkdir -p /local/packages/state/apt/lists-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- | + | 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-Rechner zeigen auf archives-9.0 und lists-9.0, die 9.1er SuSE-Rechner zeigen entsprechend 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!! | Damit der parallele Zugriff auf das apt-NFS-Verzeichnis funktioniert ist natürlich auf allen Rechnern der nfs-lock-daemon zu starten!! | ||
Zeile 61: | Zeile 61: | ||
}; | }; | ||
− | Die zentrale Konfiguration wird dann dem apt-get -c /local/packages/apt/etc/apt.conf | + | Die zentrale Konfiguration wird dann dem apt-get -c /local/packages/apt/etc/apt.conf mitgegeben |
− | + | Zur Klarheit hier noch eine komplette apt.conf: | |
− | |||
− | Zur Klarheit hier noch | ||
// with "apt-config dump" all settings can be viewed | // with "apt-config dump" all settings can be viewed | ||
Zeile 123: | Zeile 121: | ||
und als zusätzlichen kleinen Tip für die "schreibfaulen": | und als zusätzlichen kleinen Tip für die "schreibfaulen": | ||
− | + | In meiner .bashrc habe noch folgende Aliase erstellt, vielleicht erleichtert das jemand die Arbeit mit der neuen Konfiguration: | |
alias apt-get='sudo apt-get -c /local/etc/apt/apt.conf.d/apt.conf' | alias apt-get='sudo apt-get -c /local/etc/apt/apt.conf.d/apt.conf' | ||
Zeile 132: | Zeile 130: | ||
− | + | ---- | |
− | [[Category:APT | + | [[Paketmanager|Zurück zum Paketmanager]]<br/> |
+ | [[Category:APT]] |
Aktuelle Version vom 27. Januar 2013, 02:04 Uhr
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 voraus.
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:
// 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 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-Rechner zeigen auf archives-9.0 und lists-9.0, die 9.1er SuSE-Rechner zeigen entsprechend 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:
// Config files Etc "local/etc/apt/" { sourcelist "sources.list"; main "apt.conf"; preferences "preferences"; };
Die zentrale Konfiguration wird dann dem apt-get -c /local/packages/apt/etc/apt.conf mitgegeben
Zur Klarheit hier noch eine komplette apt.conf:
// with "apt-config dump" all settings can be viewed Acquire::CDROM::Copy "true"; Debug { pkgRPMPM "false"; } RPM { // Hold (do not update) a list with pkgs: // Hold { "k_deflt"; "sane"; }; // Leave list empty to disable Hold { "kernel-default"; "kernel-source"; }; Ignore {"gpg-pubkey"; }; Options { }; Install-Options ""; Erase-Options ""; Source { Build-Command "rpmbuild --rebuild"; }; } // Directory layout Dir "/" { // Location of the state dir State "local/state/apt/" { lists "lists/"; xstatus "xstatus"; userstatus "status.user"; status "/local/status"; }; // Location of the cache dir Cache "local/cache/apt/" { archives "archives/"; srcpkgcache "rcpkgcache.bin"; pkgcache "pkgcache.bin"; }; // Config files Etc "local/etc/apt/" { sourcelist "sources.list"; main "apt.conf"; preferences "preferences"; }; };
und als zusätzlichen kleinen Tip für die "schreibfaulen":
In meiner .bashrc habe noch folgende Aliase erstellt, vielleicht erleichtert das jemand die Arbeit mit der neuen Konfiguration:
alias apt-get='sudo apt-get -c /local/etc/apt/apt.conf.d/apt.conf' alias apt-cache='sudo apt-cache -c /local/etc/apt/apt.conf.d/apt.conf'
oc2pus