LANネットワーク上に apt-cacher-ng サーバーがあり、pbuilder
を使用して(パッケージのビルドを高速化するために) "強制"する方法を考えていました。
キャッシュのクライアント側の典型的なセットアップは次のようになります。
/etc/apt/apt.conf
:
Acquire::http { Proxy "http://servername:3142"; };
このような:
$ Sudo pbuilder --login --save-after-login
# echo 'Acquire::http { Proxy "http://servername:3142"; };' > /etc/apt/apt.conf.d/02proxy
# exit
$
または、--execute
オプションを使用できます。
$ Sudo pbuilder --execute --save-after-exec -- /tmp/setup-apt-proxy.sh
... /tmp/setup-apt-proxy.sh
には、/etc/apt/apt.conf.d/02proxy
を作成するコマンドが含まれます。
export http_proxy=http://your-proxy:8080/
に~/.pbuilderrc
を設定すると、パッケージのダウンロードにそのプロキシが使用されます。
セットアップで試してみたところ、うまくいきました。インターネットトラフィックから最もよくわかるように、pbuilder create
の実行中にダウンロードする必要はありませんでした。
嬉しいことに、この方法は、tarballを作成してから変更した後だけでなく、tarballを作成するときにも機能します。
-mirror引数を使用しました。例:
Sudo pbuilder create --debootstrapopts --variant=buildd --configfile ~/.pbuilderrc --mirror http://localhost:3142/us.archive.ubuntu.com/ubuntu/ main restricted universe multiverse
プロキシのキャッシュヒットを確認します。
$ tail -f /var/log/apt-cacher/access.log
Thu Dec 19 19:16:33 2013|26140|::ffff:127.0.0.1|HIT|1272844|us.archive.ubuntu.com_ubuntu_dists_precise_main_binary-AMD64_Packages.bz2
Thu Dec 19 19:18:45 2013|26647|::ffff:127.0.0.1|HIT|49563|us.archive.ubuntu.com_ubuntu_dists_precise_Release
Thu Dec 19 19:18:45 2013|26663|::ffff:127.0.0.1|HIT|198|us.archive.ubuntu.com_ubuntu_dists_precise_Release.gpg
Thu Dec 19 19:18:46 2013|26707|::ffff:127.0.0.1|HIT|1272844|us.archive.ubuntu.com_ubuntu_dists_precise_main_binary-AMD64_Packages.bz2