web-dev-qa-db-ja.com

デブートストラップでキャッシュプロキシを使用するにはどうすればよいですか?

debootstrapを実行して、パッケージを常にダウンロードすることなく、ディストリビューションを複数回作成したいと思います。

Debootstrapがインターネットに接続してInReleaseファイルを取得しようとするため、debootstrapでapt-cacher-ngまたは--foreignオプションを使用しても完全にオフラインでは機能しません(たとえば、電車でこれを行っている場合)。リモートリポジトリ。

Squid(または他のいくつかのキャッシングプロキシ)は、特定のURLをキャッシュするように構成できるように見えるので、オフラインでもプロセスを実行できます。

これを実現するには、何をインストールし、どのように構成すればよいですか?

1
opticyclic

apt install squid-deb-proxyを使用すると、debootstrapをオフラインで実行できます(InReleaseファイルも)。

ただし、帯域幅を節約してオフラインファイルを引き続き使用したい場合は、再びオンラインになったときに少し変更する必要があります。

squid-deb-proxy.confファイルには絶対パスがあるため、プロジェクトにそのコピーを作成して変更する必要があります。

/etcおよび/varへの参照を見つけ、それらをシステムファイルから分離するように相対的に変更します。

オンライン時にプロキシを引き続き使用するには、これをconfファイルに追加する必要があります。

#Use cached values when offline
offline_mode on

その後、次のように開始できます。

mkdir -p squid/var/log/squid-deb-proxy
mkdir -p squid/var/run/

echo "Starting an instance of squid using the working dir for caches and logs instead of the system dirs"
squid -Nf squid/squid-deb-proxy.conf

次に、始める前にdebootstrap

#Use a caching proxy to save bandwidth
export http_proxy=http://127.0.0.1:8000
0
opticyclic