Portage via NFS

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
Installationsmethoden LiveCDs Kernel & Hardware Laptops & Notebooks Portage System Netzwerke & Services X Software Anderes alphabetischer HOWTO Index



Das ganze empfiehlt sich, wenn man im Netzwerk einen Rechner auf Gentoo-Basis rund um die Uhr laufen hat.

Kenntnisse in NFS werden vorausgesetzt, mehr dazu im NFS Howto. Die IPs müssen natürlich angepasst werden.

Inhaltsverzeichnis

[Bearbeiten] Server mit Portage-Tree konfigurieren

vorausgesetzt dass NFS installiert ist und läuft, muss man seine /etc/exports um folgenden Eintrag erweitern:

/usr/portage     192.168.0.0/24(rw,sync,no_root_squash)
/var/cache/edb   192.168.0.0/24(rw,sync,no_root_squash)

[Bearbeiten] Konfiguration der Clients

[Bearbeiten] Ein paar Verzeichnisse leeren

das Verzeichnis /usr/portage sollte man vorher leeren

cd /usr/portage
rm -r *
cd /var/cache/edb
rm -r * 

[Bearbeiten] /etc/fstab

In der /etc/fstab muss noch ein Eintrag hinzugefügt werden:

192.168.0.1:/usr/portage  /usr/portage  nfs  rw,intr,suid
192.168.0.1:/var/cache/edb /var/cache/edb nfs  rw,intr,suid

Ab sofort wird bei jedem Neustart das nfs-Verzeichnis gemounted. Den Neustart erspart man sich mit

mount /usr/portage
mount /var/cache/edb

[Bearbeiten] portmap starten

Bevor man sich jetzt jedoch zufrieden zurücklehnen kann sollte man noch portmap installieren und starten. Auf meinem Rechner dauerte jede Verbindung zum Server sonst bis zu 1 Minute - nicht gerade lustig wenn man xorg-x11 installieren will...

$ emerge -vp portmap nfs-utils
$ rc-update -a portmap default

[Bearbeiten] Portage konfigurieren

Wenn man jetzt etwas emergt, dann holt sich der PC die Sourcen aus dem Internet, speichert sie auf den Server und holt sich diese dann wieder um sie zu dekomprimieren. Man sieht deutlich, dass das zusätzlichen Netzwerkverkehr erzeugt, den emerge-Vorgang verlängert und die Festplatte des Servers mehr belastet. Bei ausreichend großer Festplatte und bei schnellen Wlan/100-Mbit-Netzwerk hat das jedoch keine spürbaren Auswirkungen.

Wenn man dies umgehen möchte, kann man Portage per make.conf mitteilen, wo er die distfiles abzuspeichern hat.

Dazu braucht man ein Verzeichnis:

mkdir /usr/distfiles

[Bearbeiten] make.conf

Nur noch folgendes hinzufügen:

DISTDIR="/usr/distfiles"

[Bearbeiten] Tipps

[Bearbeiten] Eix Cache via NFS verteilen

Eix bietet keine Option, seinen cache an einem anderen Ort zu speichern, komplett /var/cache zu exportieren ist nicht ratsam. Mittels Symlinks lässt es sich aber austricksen. Vorausgesetzt wird, dass auf allen Rechnern schon Eix installiert ist.

[Bearbeiten] Server konfigurieren

mkdir /var/eix/
mv /var/cache/eix /var/eix/eix
ln -sf /var/eix/eix /var/cache/eix
echo "/var/eix   192.168.0.0/24(rw,sync,no_root_squash)" >> /etc/exports
/etc/init.d/nfs restart

[Bearbeiten] Client konfigurieren

mkdir /var/eix/ 
rm /var/cache/eix
ln -sf /var/eix/eix /var/cache/eix 
echo "192.168.0.1:/var/eix /var/eix nfs  rw,intr,suid" >> /etc/fstab
mount /var/eix

[Bearbeiten] Schlussbemerkung

Zusätzlich kann man den Server mittels Crontab konfigurieren, dass dieser regelmäßig emerge --sync ausführt. Diese sollte man nicht zu oft tun, wenn man mehrmals pro Tag emerge --sync ausführt kann das dazu führen, dass man für einige Zeit gesperrt wird. Das hat auch einen guten Grund, emerge --sync erzeugt auf den Gentoo-Rechnern Netzlast und je mehr Netzlast, umso teurer wird das Ganze für Gentoo. Ein- bis zweimal die Woche reicht, wenn man emerge world ausführen will. Dann kann man ja per ssh vorher noch emerge --sync auf dem Server aufrufen. Sollten alle Gentoo-Rechner großteils ähnliche Software verwenden kann man zudem mit emerge -uDF world als Cronjob bereits vorab geänderte Softwarepakete herunterladen und sich so hohe Netzlasten am Tag ersparen.

Wenn man Eix benutzt, dann empfiehlt sich statt emerge --sync ein eix-sync per cronjob ausführen zu lassen.

[Bearbeiten] Siehe auch

Emerge beschleunigen
Traffic sparen
Lokaler Rsync Server

Beachte bitte die Diskussion zu diesem Artikel.



--Misterjack 17:13, 11. Nov 2004 (GMT)

'Persönliche Werkzeuge
Andere Sprachen