私のローカルネットワークにFedoraパッケージ用のRPMリポジトリを作成したいと思います。リポジトリの制限のため、最初はリポジトリを空にしてパッケージにアクセスしてからパッケージをダウンロードしたいと思います。
背景
私はローカル仮想マシンを頻繁に使用します。新しいVMを作成してFedoraをインストールするたびに、インターネットから多くのパッケージがダウンロードされ、ダウンロードしたパッケージのほとんどは同じです。プロセスを高速化するために、同じネットワーク上のサーバーにRPMをキャッシュしたいと思います。
createrepo
&組み合わせで同様の質問に答えましたreposync
。reposync
いくつかのパッケージが必要なときにリポジトリ全体を事前に複製したくないので、この部分は気に入らません。
理想的なソリューション
私のローカルネットワーク上のサーバーがFedoraインストールのRPMリポジトリとして機能するようにしたいと思います。 .config設定のすべてのメタデータを渡す必要があります/etc/yum.repo.d/*
。サーバーは、要求されたRPMがローカルキャッシュに存在する場合はそれを転送し、そうでない場合はダウンロードして転送する必要があります。
https://mirrors.fedoraproject.org/...
あまり野心的なアプローチは、httpプロキシを使用する代わりに単一のRPMリポジトリを設定することです。
アップロード日:2015年11月2日
すでにWeb上でnginxを実行しているので、proxy_pass
とproxy_cache
。やや効果的ですが、IMHOには長所よりも短所があります。
- で構成されている各リポジトリに対して別々の構成を作成します
/etc/yum.repo.d/*
。 - バックアップミラーのために使用できません
metadata
。https://mirrors.fedoraproject.org/
コメントで提案されているようにnginxを削除してインストールしましたsquid
。squid
私にとってうまくいきます。この構成により、store_id_program
RPM が元々どこから来たかに関係なく、代替ミラーを使用してキャッシュにヒットすることもできます。
ベストアンサー1
ここでrpmキャッシュのために微調整されたsquid.confを見つけることができます:
https://github.com/spacewalkproject/spacewalk/blob/master/proxy/installer/squid.conf
メモリとポートの設定を変更するだけです。