Emerge auf sehr langsamen Rechnern
Aus Gentoo Linux Wiki
| 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.
