Emerge auf sehr langsamen Rechnern

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


Inhaltsverzeichnis

[Bearbeiten] Szenario

Dieser Artikel ist für folgendes Szenario gedacht: Man hat 2 Rechner, einen schnellen Rechner A (z.B. Athlon XP 2200+), einen langsamen Rechner B (z.B. Pentium 120). Man will auf Rechner B viel emergen, ohne ewig lange auf die zu warten. Man hat Gentoo auf Rechner A und B schon bis zum Ende des Handbuches installiert und man hat eine Netzwerkverbindung zwischen beiden PCs.

[Bearbeiten] NFS installieren

Die Idee ist es, das Rootverzeichnis von Rechner B auf Rechner A zu mounten und dort die zeitraubenden Operationen wie emerge, prelink oder das Übersetzen des Kernels durchzuführen. Dazu muss auf beiden Rechnern NFS installiert werden.

# emerge portmap nfs-utils

Die entsprechenden Services automatisch starten

# rc-update add portmap default
# rc-update add nfsmount default
# rc-update add nfs default

Ausserdem müssen wir noch die NFS-Unterstützung im Kernel aktivieren. Dazu sind folgende Optinen zu wählen

# cd /usr/src/linux
# make menuconfig
File Systems --->
 Network File Systems --->
  <*> NFS file system support
  [*]   Provide NFSv3 client support
  [ ]   Provide NFSv4 client support (EXPERIMENTAL)
  [ ]   Allow direct I/O on NFS files (EXPERIMENTAL)
  <*> NFS server support
  [*]   Provide NFSv3 server support
  [ ]   Provide NFS server over TCP support (EXPERIMENTAL)

Danach den Kernel neu übersetzen.

# make
# make modules_install

Und neu booten (startet auch die NFS-Dienste)

[Bearbeiten] Rechner B (NFS server) konfigurieren

Wir müssen nun noch die Zugriffsberechtigungen für das root Verzeichnis erstellen. Das passiert durch Eintragen der folgenden Zeile in die /etc/exports

/ <IP von Rechner A>(rw,no_root_squash,sync,no_subtree_check)

[Bearbeiten] emerge auf Rechner B auf Rechner A

Jetzt müssen wir noch / von Rechner B auf Rechner A mounten. Alle Kommandos sind ab hier auf Rechner A auszuführen.

Ich habe leider keine Erfahrung mit den Benutzerrechten in solch einem Fall. Zur Sicherheit (damit meine ich, damit auch alles klappt) sollte man sich als root anmelden.

# mkdir /mnt/slowmachine
# mount <IP von Rechner B>:/ /mnt/slowmachine -o rsize=1024,wsize=1024

Die Option '-o rsize=1024,wsize=1024' verhindert die Fragmentierung von IP-Paketen.

Und Die root nach /mnt/slowmachine wechseln

# chroot /mnt/slowmachine /bin/bash

So nun kann man fröhlich emerge benutzen. Alle Änderungen am Dateisystem werden auf Rechner B vorgenommen, aber aller Prozesse werden auf Rechner A gestartet.

Nun kann man mann (fast) mit der ganzen Rechenpower von Rechner A Gentoo auf Rechner B zurecht-emergen.

[Bearbeiten] Troubleshooting

Falls es mit dem Downloaden von Quelldateien Probleme gibt, denkt bitte daran, dass das auf Rechner A passiert. Es sollte aber problemlos funktionieren wenn auf Rechner A emerge normal funktioniert.

Solltet ihr beim Aufruf von emerge seltsame Fehler wie z.B

close failed: [Errno 9] Bad file descriptor

bekommen, so liegt das wahrscheinlich daran, dass der Dienst nfsmount nicht läuft. Das mounten funktionert dann trotzdem, aber es gibt eben Fehler.

--Ivo Burkart

'Persönliche Werkzeuge