HOWTO Emerge op heel trage systemen
Uit Gentoo Linux Wiki
HOWTO Emerge op heel trage systemen
Inhoud |
[bewerken] Scenario
Dit artikel is op het volgende scenario gebaseerd: Je hebt 2 systemen, een snelle A ((i.e. Athlon XP 2200+), en een trage B (i.e. Pentium 120). Je wilt grote programma’s op system B emergen zonder een eeuwigheid te wachten. Beide systemen zijn geïnstalleerd zoals beschreven in de Gentoo installatie handleiding.
[bewerken] Compileren op het snelle system met NFS
[bewerken] installeer NFS
Het principe is om de root map van system B aan system A te koppelen en de tijdrovende jobs op system A uit te voeren. Je moet NFS op beide systemen installeren.
# emerge portmap nfs-utils
En markeer de diensten die zelfstartend moeten zijn.
# rc-update add portmap default # rc-update add nfsmount default # rc-update add nfs default
Vergeet niet te controleren of NFS in jou kernel configuratie geactiveerd is
# 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)
Indien nodig vink de opties aan en hercompileer de kernel
# make # make module_install
en herstart.
[bewerken] Systeem B instellen (NFS server)
We moeten system A toelating geven voor toegang op /root van system B. Dat kan door een regel aan /etc/exports toe te voegen.
/ <IP of box A>(rw,no_root_squash,sync,no_subtree_check)
[bewerken] emerge op systeem B via system A
Nu koppelen we system de /root van system B op systeem A. Alle commando’s moeten op systeem A ingegeven worden.
Ik weet niet hoe het zit met gebruikersrechten. Dus veiligheidshalve (om fouten te vermijden) moet je als root inloggen.
# mkdir /mnt/traagsysteem # mount <IP of box B>:/ /mnt/ traagsysteem -o rsize=1024,wsize=1024
(de -o rsize=1024,wsize=1024 vermijdt IP-Fragmentatie)
en chroot to /mnt/ traagsysteem
# chroot /mnt/ traagsysteem /bin/bash
Nu kan je uit de bol gaan om te emergen. Alle de wijzigingen van het bestandssysteem gebeuren nu op systeem B, maar de processen lopen op systeem A.
[bewerken] Problemen oplossen
Denk er aan dat system A het downloaden van bronnen doet, dus zorg ervoor dat A internet toegang heeft.
Als je vreemde fout zoals deze krijgt tijdens emerge
close failed: [Error 9] Bad file descriptor
verzeker er je dan van dat de nfsmount dienst werkt.
Je kunt nfsmount starten door '/etc/init.d/nfsmount start' in te geven.
[bewerken] distcc
Je kan ook distcc gebruiken door het snelle system eerst op de lijst te zetten.
