次のようにdebootstrap
を実行します。
Sudo debootstrap --verbose --Arch=AMD64 zesty chroot
apt-cacher-ng
を既にインストールしています。
Debootstrapを複数回実行するときに同じパッケージを繰り返しダウンロードする代わりにキャッシュを使用するように、それらをどのように連携させるのですか?
MIRRORオプションを使用してhttp_proxy変数を設定しようとしましたが、オフラインで実行するとエラーになります。
$ Sudo http_proxy="http://localhost:3142" debootstrap --verbose --Arch=AMD64 zesty chroot http://localhost:3142/uburep
I: Retrieving InRelease
I: Failed to retrieve InRelease
I: Retrieving Release
E: Failed getting release file http://localhost:3142/uburep/dists/zesty/Release
http://localhost:3142/uburep
を使用したのは、それがキャッシュで見つかったためです。
$ find /var/cache/apt-cacher-ng -name Release
/var/cache/apt-cacher-ng/security.ubuntu.com/ubuntu/dists/zesty-security/Release
/var/cache/apt-cacher-ng/uburep/dists/zesty-updates/Release
/var/cache/apt-cacher-ng/uburep/dists/zesty-backports/Release
/var/cache/apt-cacher-ng/uburep/dists/zesty/Release
追加しようとしましたDefaults env_keep += "http_proxy https_proxy ftp_proxy"
を/ etc/sudoersに(Sudo visudo経由で)行いましたが、どちらも助けにはなりませんでした。
MIRRORオプションを削除してdebootstrapをオフラインで実行すると、apt-cacher-ngをまったく使用していないようです(localhostを探していないことに注意してください)。
E: Failed getting release file http://archive.ubuntu.com/ubuntu/dists/zesty/Release
明示的なプロキシ設定なしでこれを機能させるためのコツがあります。実際に、あなたはcanあなたの設定されたapt-cacher-ng
をミラーURLとして使用します:
http://localhost:3142/us.archive.ubuntu.com/ubuntu/
したがって、apt-cacher-ng
インスタンスのベースURLを指定した後にわかるように、サーバーとパスを このWiki記事 に従って指定できます。私はこのメソッドを自分のbootstrapスクリプトで使用しましたが、これは魅力のように機能します。
注:apt-cacher-ng
(lsof
パッケージが必要)で確認することにより、lsof -i :3142
インスタンスが実行されていることを確認できます。