howto ускорение сборки системы

Для ускорения установки системы имеет смысл монтировать /tmp и PORTAGE_TMPDIR в tmpfs
опыт показывает, что это имеет смысл делать если у вас не менее 256MB памяти
на gentoo для этого надо выполнить

# mount -t tmpfs none /tmp nodev,nosuid,noexec,size=128M,mode=01777
 # mount -t tmpfs none /var/calculate/tmp/portage -o nr_inodes=10M,size=7G,mode=01770,uid=portage,gid=portage

или прописать в /etc/fstab

none /tmp tmpfs nodev,nosuid,noexec,size=128M,mode=01777 0 0
none /var/calculate/tmp/portage tmpfs nr_inodes=50M,size=7G,mode=01770,uid=portage,gid=portage 0 0

что такое tmpfs можно почитать тут http://www.altlinux.org/Tmpfs
по порядку про опции:
в /tmp:

  • nodev,nosuid,noexec - нужны из соображений безопасности. Пока не встречал причин их не использовать.
  • size=128M - ну тут на ваш выбор, меньше - не стоит, больше - смотрите на свою память, у меня стоит 70% от физической памяти, можно хоть в 10 раз больше, память знимается лишь когда используется

/var/calculate/tmp/portage:

  • nr_inodes=10M - очень неприятно бывал пару раз удивлен когда компиляция ooffice обрывается изза недостатка инодов. дело в том что по дефолту всегда используется одно и то же количествоинодов, и openoffice-у его не хватает, сколько точно надо - я не уверен, знаю лишь что 10M вполне хватает
  • size=7G - опятьже такой большой потому что openoffice кушает гдето 6.5G плюс/минус
  • mode=01770,uid=portage,gid=portage - тут думаю все должно быть ясно

Теперь немножко неприятных моментов. надо быть готовым к тому что весь /var/calculate/tmp/portage будет забит, т.е. надо иметь достаточно памяти SWAP+MEM для размещения этой директории и программ.
Обычно я для этого создаю отдельный файл подходящих размеров и подключаю его к swap, вот пример создания свопа на 3G

# dd if=/dev/zero of=/home/SWAP bs=1k count=3M; chmod 0 /home/SWAP; mkswap /home/SWAP;swapon /home/SWAP

Такое бывает нужно очень редко, например когда компилится openoffice

Возможно имеет смысл в /etc/fstab прописать

none /var/calculate/tmp/portage tmpfs nr_inodes=1M,size=2G,mode=01770,uid=portage,gid=portage 0 0

и в случае необходимости делать

# mount -o remount,size=7G,nr_inodes=10M /var/calculate/tmp/portage

следить за использованием дискового пространства можно командой

# watch -n3 'df -h /var/calculate/tmp/portage;df -hi /var/calculate/tmp/portage'