Ubuntu分布式编译distcc配置

Ubuntu分布式编译
本文详细介绍如何在Ubuntu环境下配置distcc实现分布式编译,包括Server端和Client端的设置步骤,以及通过nfs共享编译目录的方法,最后通过distccmon工具验证编译任务的分配情况。

Ubuntu分布式编译distcc配置

Distcc分布式编译配置

  • 在Ubuntu上,可以使用distcc,搭建分布式编译环境。
  • 简单来说就是:让多台电脑,一起进行编译,从而加快编译速度。
  • 以下为Server端(Server端,帮助编译的PC),及Client端(客户端,就是自己的PC)。
Server端
  • 这里假定有2个Server,IP分别为 192.168.98.170、192.168.98.200
  • 安装distcc及nfs环境
sudo apt-get update
sudo apt-get install ccache
sudo apt-get install nfs-common
sudo apt-get install nfs-server
sudo apt-get install distcc
  • 关闭distcc自动启动
sudo vim /etc/default/distcc

# 修改该关键字如下
STARTDISTCC="false"
  • 手动启动distcc服务
# 用户:linduo
# --allow [允许的IP]
distccd --user linduo --daemon --allow 127.0.0.1 --allow 192.168.98.0/24 --listen 0.0.0.0 --nice 10 --jobs 16
  • 映射Client端编译目录
# 假设客服端已经开启了nfs共享
# 注意:映射路径需要相同
sudo mount 192.168.98.229:/home/linduo/Project/ /home/linduo/Project/
Client端
  • 假定客户端为1个,IP为 192.168.98.229
  • 安装环境
sudo apt-get update
sudo apt-get install ccache
sudo apt-get install nfs-common
sudo apt-get install nfs-server
sudo apt-get install distcc
  • 工程目录开启nfs共享
 sudo vim /etc/exports
 # 添加
 /home/linduo/Project/ 192.168.0.0/16(ro,sync,all_squash)
  • 重启nfs服务
sudo service nfs-kernel-server restart
  • 添加Server
sudo vim /etc/distcc/hosts

# 添加ServerIP
192.168.98.170
192.168.98.200
  • 在编译环境中加入distcc,这里由于原工程编译时,使用了ccache,因此直接修改了环境变量(具体加入方法,按工程具体toochains/编译工具为准)。
# 修改CCACHE环境变量 添加distcc
export CCACHE="distcc ccache"
测试
  • 编译工程,在客户端通过如下命令,查看任务分配
distccmon-text
  • 输出结果
  5372  Compile     XXXXXX.cpp                   192.168.98.170[1]
  5394  Compile     XXXXXX.cpp                   192.168.98.200[2]
  5418  Preprocess                                                localhost[2]
  5335  Preprocess 
  • 图形化工具,也可以使用图形化工具查看任务分配状态
# 运行即可
# 没有的话,通过apt安装即可
distccmon-gnome
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值