Distcc

Un article de ALW - Another Linux Wiki.


[modifier] Introduction

Distcc est tres pratique voir indispensable sur des systemes comme Gentoo. Distcc permet de faire de la compilation distribuée. C'est a dire que nous allons repartir les taches de compilations sur plusieurs machines afin d'alleger la peine de nos pauvres becanes :-)

[modifier] Prerequis

Pour que Distcc fonctionne bien nous aurons besoin des memes versions de GCC partout. Distcc est capable de faire du crosscompiling (compiler un paquet pour des architectures differentes) mais c'est une utilisation avancée que nous ne verrons pas ici.

[modifier] Installation et configuration

Pour le monitoring on utilisera le USE gtk

 emerge -av distcc

Si les machines utilisant distcc sont 10.0.0.1 et 10.0.0.2 La configuration suivante s'applique sur la machine 10.0.0.1

File: /etc/distcc/hosts
 10.0.0.2 localhost

On fera l'inverse sur l'autre machine

File: /etc/make.conf

# pareil que le fichier /etc/distcc/hosts DISTCC_HOSTS="10.0.0.2 localhost" # on indique a make d'utiliser distcc, ici nous utilisons deja ccache donc on le met avant FEATURES="ccache distcc" # ou X est le nombre de processeurs total +1 (on compte les machines distances) MAKEOPTS="-jX"

Ensuite on s'occupe de lancer le service et de le faire demarrer au boot de la machine:

 /etc/init.d/distcc start
 rc-update add distcc default


Voila c'est fini \o/ On n'oublie pas que pour avoir un gain vraiment reel il faut aussi utiliser Ccache

Voila ce que donne une compilation vue avec distccmon-gui, l'outil de supervision de distcc :-)


Image:distcc.jpg

Rubriques