Кеширование компиляции с помощью ccache
Вот она, только что установленная система. Впереди установка большого количества портов. Для того, чтобы хоть как-то сократить время на установку я использую кеширование с помощью ccache. Будем считать, что система у нас вообще не содержит никаких портов, поэтому используем в качестве текстового редактора ee.
# cd /usr/ports/devel/ccache
# make install
После установки порта необходимо добавить настройки в несколько конфигурационных файлов. Скорее всего я делаю лишнюю работу, но я хочу, чтобы у меня ccache работал всегда и везде, а так же под root'ом и моим пользователем.
Добавляем в /etc/make.conf
следующий код:
.if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*))
.if !defined(NOCCACHE)
CC:=${CC:C,^cc,/usr/local/libexec/ccache/world/cc,1}
CXX:=${CXX:C,^c\+\+,/usr/local/libexec/ccache/world/c++,1}
.endif
.endif
Добавляем в /etc/csh.cshrc
следующие параметры:
setenv PATH /usr/local/libexec/ccache:$PATH
setenv CCACHE_PATH /usr/bin:/usr/local/bin
setenv CCACHE_DIR "/usr/.ccache"
Добавляем в /etc/profile
следующие параметры:
export PATH=/usr/local/libexec/ccache:$PATH
export CCACHE_PATH=/usr/bin:/usr/local/bin
export CCACHE_DIR=/usr/.ccache
Создаём каталог .ccache и делаем его доступным для всех и вся:
# mkdir /usr/.ccache
# chmod 777 /usr/.ccache
После этого необходимо перелогиниться, чтобы изменения вступили в силу для всех пользователей и можно собирать порты и ядро.
Для просмотра статистики пишем ccache -s
, а более подробно о программе Вы можете почитать ccache -h
или man ccache
.