且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Ubuntu安装distcc+dmucs(分布式编译)步骤

更新时间:2022-08-12 11:09:31



服务器端(计算机名为:zhimingubtpc.local):


$ sudo vi /etc/hostname

按a或i进入编辑模式

zhimingubtpc.local

按Esc键退出编辑模式

:wq (保存并退出)

$ sudo apt-get install distcc


$ sudo apt-get install dmucs


$ sudo vi /etc/default/distcc

按a或i进入编辑模式

STARTDISTCC="true"   (默认为false)

ALLOWEDNETS="127.0.0.1 10.0.10.0/16"

LISTENER="" (默认为127.0.0.1,建议清空,否则会失败)


按Esc键退出编辑模式

:wq (保存并退出)


$ sudo vi /etc/default/dmucs


按a或i进入编辑模式

SERVER=yes  (默认为no)

按Esc键退出编辑模式

:wq (保存并退出)


$ sudo vi /etc/dmucs.conf


按a或i进入编辑模式

localhost 2  2  (第1个是计算机名,第2个是CPU个数,第3个是性能指数)

zhimingubtpc.local 2 4


按Esc键退出编辑模式

:wq (保存并退出)


启动distcc服务:

$ sudo /etc/init.d/distcc start


启动dmucs服务:


$ sudo dmucs  (可显示出任务分配情况)

$ sudo service dmucs start (不显示任务分配情况)


注:服务器端会根据客户端的CPU个数及性能指数进行任务分配,即如果想让哪台客户端多些任务,调下CPU和性能指数大小即可,可随意写


关dmucs服务(貌似sudo service dmucs stop并不能真正关掉):


$ sudo netstat -ntpl | grep dmucs


$ sudo kill -9 进程号




客户端:

$ sudo apt-get install distcc


$ sudo apt-get install dmucs


$ sudo vi /etc/default/distcc

按a或i进入编辑模式

STARTDISTCC="true"   (默认为false)

ALLOWEDNETS="127.0.0.1" (如果仅作客户端,仅允许自己即可)


LISTENER="" 


(也可LISTENER="127.0.0.1" 或LISTENER="`ifconfig | grep '10.0' | cut -d: -f2 | awk '{ print $1}' | head -n1`")



按Esc键退出编辑模式

:wq (保存并退出)


$ sudo vi /etc/default/dmucs

按a或i进入编辑模式

USE_SERVER=10.0.1.38(zhimingubtpc.local)(默认为空)

Esc键退出编辑模式
:wq (
保存并退出)


启动distcc服务:

$ sudo service distcc start


启动distcc服务:


$ sudo service dmucs start

$ vi ~/.bashrc  (在最后添加)

按a或i进入编辑模式


export PATH=/usr/lib/distcc:/usr/bin:/bin

export CC="gethost --server zhimingubtpc.local distcc"


按Esc键退出编辑模式

:wq (保存并退出)


$ source ~/.bashrc


查看gcc路径:

$ which gcc  (如果显示/usr/lib/distcc/gcc说明环境变量生效了)


向服务器端发送本机负载情况命令(发送,服务器会根据负载进行调整,如果会CPU个数和性能指数进行分配,服务器端也可给自己发送负载信息):


$ sudo loadavg -s zhimingubtpc.local

本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/1189445如需转载请自行联系原作者


yangzhimingg