![]()
Se il proprio computer possiede qualche Gb di ram (come nel mio caso, 4) potrebbe essere vantaggioso compilare tutto in ram, evitando così molti accessi al disco che rallentano il processo.
Fare ciò su gentoo è molto semplice:
Di default, /dev/shm (disco virtuale creato in ram) è montato senza permessi di esecuzione. Ciò vuol dire che al suo interno non può essere eseguito alcun programma. Per poter procedere occorre quindi smontarlo e rimontarlo concedendo permessi di esecuzione.
1 2 |
# mount | grep /dev/shm shm on /dev/shm type tmpfs (rw,noexec,nosuid) |
1 2 |
# umount /dev/shm # mount shm /dev/shm -t tmpfs -o rw,exec |
1 2 |
# mount | grep /dev/shm shm on /dev/shm type tmpfs (rw) |
..a questo punto, basta settare la variabile ambientale PORTAGE_TMPDIR sulla shell dove vogliamo compilare in modo che punti a una directory contenuta in /dev/shm, es:
1 2 |
# mkdir /dev/shm/portage # export PORTAGE_TMPDIR=/dev/shm/portage |
Fatto!
Se vogliamo compilare *sempre* in ram, si può automatizzare la cosa aggiungendo l'opzione exec in /etc/fstab:
1 |
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 |
diventa:
1 |
shm /dev/shm tmpfs rw,exec 0 0 |
..e aggiungiamo in /etc/make.conf:
1 |
PORTAGE_TMPDIR=/dev/shm/portage |