Пакет distcc предназначен для ускорения компиляции кода за счёт использования всех доступных компьютеров для запуска компиляторов.
Помимо основного предназначения, удобно использовать его, если собираете что-то в виртуальной машине: чтобы не грузить процессор хоста ненужной работой виртуалки, можно перенести компиляцию на хост.
Расскажу на примере сборки ядра в VirtualBox (разные архитектуры + лень, не позволяющая разобраться с вопросом кросс-компиляции):
1) ставим:
sudo aptitude install distcc -- на хосте и в виртуалке
2) на хосте правим
/etc/default/distcc, разрешаем старт сервиса (STARTDISTCC="true") и запускаем его:
sudo service distccd start3) на клиенте правим
/etc/distcc/hosts (или ~/.distcc/hosts), комментируем +zeroconf -- оно вызывает проблемы из-за ipv6 (
http://code.google.com/p/distcc/issues/detail?id=42), добавляем адрес родителя (10.0.2.2), при желании через "/" лимит на число заданий.
4) пускаем компиляцию:
CC=distcc make, или, в моём случае
MAKEOPTS="CC=distcc" make-kpkg ...Наблюдаем в логе /var/log/distccd.log на хосте процесс компиляции.
ЗЫ инструкция для случая если у виртуалки сетевое подключение типа NAT, в другом случае придётся поиграться с параметрами distccd