Tag: distcc

Gentoo distccd Docker

背景 Gentoo の Docker イメージが作りたい。が、 オフィシャルの gentoo/stage3-amd64 の更新頻度が低い( 2021/08/08 時点で以前のアップデートが 1 年前だった ) portage 用のイメージ gentoo/portageがあり、こちらは毎日更新されている。 コマンドや glibc などが置かれているビルド済みの領域は gentoo/stage3-amd64 に置かれているため、実際に使うときには emerge –update –deep –newuse @world とリビルドが必要 リビルドするとイメージのサイズがかなり増える が、できればコンパクトなイメージにしたい。 結論(2021/08/17 時点) docker-slimを使ってイメージをコンパクトにする方法が一番コンパクトになった。 手法 サイズ 備考 ダウンサイジング前 3.04GB 不要なディレクトリの削除 1.8GB emerge が一時的に使うファイル郡 (上記ディレクトリ削除に加えて)不要なパッケージの削除 983MB パッケージ一覧を見ながら不要そうなパッケージを削除 docker-slim 39MB Dockerfile サンプル ここに公開した 手法の比較 不要なディレクトリ削除は emerge が一時的に使うファイル郡を削除するだけなので安全に使える。 Read more...

distccのサーバ/クライアント設定

distcc サーバーを建てる 概要 ラズパイ Gentoo GenPi64 でのコンパイルに時間がかかるので、 amd64 のマシンの docker 上にクロスコンパイル環境を構築、 distcc デーモンを立てて、ラズパイがクライアント、amd64 が distcc サーバの構成でコンパイルを早くした。 手順 distcc が起動する docker コンテナを作る distcc への接続確認 telnet コマンドでポート 3632 に接続。 切断は Ctrl + ] を押してから Ctrl + d $ telnet localhost 3632 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. ^] telnet> Connection closed. GenPi64 distcc クライアント側の設定 GenPi64 は distcc はインストール済みなので emerge は不要。ただし gcc のプロファイルを揃える distcc サーバーの IP アドレスの追加 は必要。 gcc のプロファイルを確認 Read more...