Compilazione in ram su gentoo

Versione stampabileVersione stampabile

Gentoo Logo
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:

Passo 1: rimontare /dev/shm con l'opzione exec

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)

Passo 2: Impostare il percorso di compilazione di portage

..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!

Automatizzare il processo

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

Who Am I?

~redShadow~ A.K.A. Samuele Santi is an Italian Open Source developer, currently working as a freelance developer, mainly in the web applications sector. Favourite programming languages: PHP and, of course, Python!

contact manager (1) doku (1) C++ (2) curl (1) debug (1) Drupal Forms (1) dmcrypt (1) blogroll (7) como lake rovers (1) bash (11) Drupal (21) caos (1) arduino (1) archive (1) e-mail (2) 3d (3) debian (1) backup (3) address book (2) database (3) algorythms (1) aoe (1) alcool (1) circuits (1) cocktails (1) camera mia (1) code (3) cars (1) apache (1) blender (3) 2v (1) awstats (3) aircrack (1) documentation (2) citroen (1) cartoons (1) development (11) cryptography (1) audio (1) apt (1)