web-dev-qa-db-ja.com

debootstrapにapt-cacher-ngのミラーオプションを使用する方法は?

次のように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
2
opticyclic

明示的なプロキシ設定なしでこれを機能させるためのコツがあります。実際に、あなたはcanあなたの設定されたapt-cacher-ngをミラーURLとして使用します:

http://localhost:3142/us.archive.ubuntu.com/ubuntu/

したがって、apt-cacher-ngインスタンスのベースURLを指定した後にわかるように、サーバーとパスを このWiki記事 に従って指定できます。私はこのメソッドを自分のbootstrapスクリプトで使用しましたが、これは魅力のように機能します。

注:apt-cacher-nglsofパッケージが必要)で確認することにより、lsof -i :3142インスタンスが実行されていることを確認できます。

4
0xC0000022L