自宅の PC で Linux 仮想マシンをいくつか実行しています。Linux の奇妙な点の 1 つは、パッケージ マネージャーを実行するたびに、構成されたソフトウェア リポジトリを「更新」しようとすることです。つまり、基本的にインターネットからファイルをダウンロードしようとするということです。VM の以前のスナップショットに戻すと、次にパッケージ マネージャーを実行すると、まったく同じデータが再度ダウンロードされます (VM 内にはもう存在しないため)。
同じデータを何度もダウンロードして帯域幅を無駄にするのはもったいないと思うので、ダウンロードしたファイルをキャッシュする HTTP プロキシ サーバーのようなものを設定する方法はないかと考えています。しかし、どうすればそれができるのか私にはわかりません。特に、VM がキャッシュが存在することを「知る」必要がないように設定する必要があります。つまり、キャッシュは透過的である必要があります。しかし、その方法がわかりません。
どのようなソフトウェアを使用する必要があるか、何かアドバイスはありますか? Windows ホスト OS で実行できればよいのですが、Linux ゲストで小さな VM を実行することも可能です...
答え1
このスライドショーDebian ベースの Linux ディストリビューション用のパッケージ キャッシュ プロキシのいくつかのソリューションについて説明します。
約
プロキシとして実行: 使用するミラーを指定し、それを唯一のミラーとして使用するようにクライアントを構成します。
パッケージホストへのインストール:
sudo apt-get install apport
お気に入りのバックエンドミラーを使用するように approx を設定します
/etc/approx/approx.conf
。debian http://ftp.au.debian.org non-US http://ftp.au.debian.org/non-US security http://security.debian.org/security
approx サーバーを使用するようにクライアントを構成します。
deb http://localcache:9999/debian stable main contrib deb http://localcache:9999/security stable main
アプトプロキシ
類似商品
インストール
sudo apt-get install apt-proxy
お気に入りのミラーを設定します
/etc/apt-proxy/apt-proxy-v2.conf
:[debian] backends = http://ftp.au.debian.org http://ftp.us.debian.org
約のようにクライアントを構成します。
deb http://localcache:9999/debian stable main contrib deb http://localcache:9999/security stable main
これらは Linux で実行できるように設計されていますが、最小限のトラブルで Windows に移植できる可能性があります。Python がプラットフォームに依存しないことを望みますが、プログラマーはしばしば仮定を立てることがわかりました。