no-image

Ubuntu/Debianでccacheを使ってパッケージをビルドする方法

DebianやUbuntuといったapt系のディストリビューションでは
apt sourceやapt install build-depなどを活用して
簡単にパッケージをビルドすることが可能です。

ところが、些細な更新のたびにパッケージをビルドしていると
ビルド時間が取られてしまってなかなか大変ですよね?

今回はccacheを活用してビルド時間を大幅に短縮する方法を解説します。

そもそもccacheとは?

ccacheとは
同じソースコード、同じコンパイラ、同じコンパイルオプションでのコンパイル結果をキャッシュして
再び同じ条件でビルドを行う際にはキャッシュした結果からデータを引っ張ることで
一度ビルドを行ったソフトウェアのビルド時間を大幅に削減してくれるという超便利なツールです。

詳しくはArch Wikiのccacheの項目を読んでください。

ccacheでパッケージをビルドする方法

では早速パッケージのビルドの際にccacheを通す方法を解説します。

今回は環境変数やらを弄る必要のないエコな方法を紹介します。

まずはccacheを導入

sudo apt install ccache

cacheする最大のサイズを設定

ccache -M 100G

現在の設定値を確認

ccache -s

 

ここまで来たら導入は完了。

あとはパッケージのビルドの際に使うdebuildのコマンドに引数を加えればccacheを活用したビルドを行ってくれます。

普段のビルド用のコマンド

debuild -b -uc -us -j8

ccacheを活用してパッケージをビルドするコマンド

debuild --prepend-path=/usr/lib/ccache -b -uc -us -j4