Gentoo Linuxな生活​/サーバ設定関連

Gentooといえば anchor.png

コンパイルしてパッケージをインストールするディストリビューションですからね。常にコンパイルから離れることはできません。しかしコンパイルはひじょ~に時間がかかるもの。なんとか短縮したいものですよね。そこでいくつか考えられますね。

  • 早いCPUに乗せ変えてせこせこコンパイル
  • 多くのPCで分担してコンパイルする

で、早いCPUに乗せかえるのは金がかかってしまいますので、お休みしているパソコンちゃんに分散してやらせるのがいい手ですね。そもそもCPUが遊んでるなら利用しない手はありません

Page Top

distcc anchor.png

そこで登場するのがdistccです。gccで分散コンパイルをやらせるお手軽ツールちゃんです

Page Top

インストール anchor.png

# emerge distcc

おっしまい。分散コンパイルに参加させたいホストは全部やってやります

Page Top

設定 anchor.png

# distcc-config --set-hosts IPアドレス1 IPアドレス2 .....

と並べて記述していきます。これで分散させるホストが決定します。

さらに/etc/conf.d/distccdを編集いたします。ほとんどそのままでよいのですが、DISTCC_OPTSに--allow, --listenを追加してやると、セキュリティ的に安心になります。--allowは要求を許可するホストをネットワークアドレスで書いてやります。--listenはサーバ側がポートを開くアドレスを指定してやります。

DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.0.0/16" みたいに

さらにインストールすると環境変数DCCC_PATHが追加されます。内容は"/usr/lib/distcc/bin"になってます。このPATHを/usr/binよりも前に追加してやると、gcc,cc等のコマンドがdistccで分散させるための実行コマンドに変わります。私は/etc/profileをちょいと編集してしまいました。

Page Top

make.confの設定 anchor.png

make.confにMAKEOPT,FEATURESを追加してやります。

MAKEOPTS="-j4"
FEATURES="distcc"

ここでは4にしてますが、1台のPCのCPUの数+1×PC台数分です。うちだとCPU1つのPCが2つ。なので (1+1)×2で4になるわけですね。

Page Top

さて、実行結果は? anchor.png

自動的にジョブ数が均等になるようにdistccが分散してくれます。普通のemergeもmakeの並列コンパイルに対応してると勝手に分散します。特に効果がでかかったのは、カーネルのコンパイル。

# make menuconfig
# make -j4
# make modules_install

でLinux2.6のコンパイルは終了いたしますが、Pentium3の800MHzのノートでコンパイルすると1時間ぐらいかかるカーネルのコンパイルが、Celron2.6GHzのサーバもコンパイルに参加させるので、20分ぐらいで終了します。さらにPCの台数を増やすとどんどんコンパイル速度が速くなるという仕組み。これならチープなCPUのパソにGentooをインストールするのも怖くなくなりますねぇ~。うっふっふ


トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 1680, today: 1, yesterday: 0
初版日時: 2009-08-19 (水) 01:23:05
最終更新: 2009-08-19 (水) 01:23:05 (JST) (3019d) by maruo
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード