
ローカル ネットワーク上に Fedora パッケージ用の RPM リポジトリを作成したいと考えています。ストレージの制限があるため、リポジトリは最初は空にしておき、アクセスされたらパッケージをダウンロードするようにしたいと考えています。
背景
私はローカル VM をよく使用します。新しい VM を作成して Fedora をインストールするたびに、インターネットから多数のパッケージがダウンロードされますが、ダウンロードされるパッケージのほとんどは同じものです。プロセスを高速化するには、同じネットワーク上にあるサーバーに RPM をキャッシュしたいと思います。
createrepo
同様の質問には、 &の組み合わせで回答されています。一部のパッケージだけが必要な場合に、リポジトリ全体を事前にクローンしたくないので、reposync
この部分は気に入りません。reposync
理想的なソリューション
ローカル ネットワーク上のサーバーを、Fedora インストール用の RPM リポジトリとして機能させたいと思います。 で設定されているメタデータをパススルーする必要があります/etc/yum.repo.d/*
。サーバーは、要求された RPM がローカル キャッシュに存在する場合はそれを配信し、存在しない場合はダウンロードしてから配信する必要があります。
それほど野心的ではないアプローチとしては、代わりに単一の RPM リポジトリを構成しhttps://mirrors.fedoraproject.org/...
、http プロキシを使用するというものがあります。
更新日: 2015年11月2日
すでにネットワーク上で nginx が動作しているので、proxy_pass
との組み合わせを試してみましたproxy_cache
。 一応は動作しますが、私見では利点よりも欠点の方が多いです。
- で構成されたリポジトリごとに個別の構成
/etc/yum.repo.d/*
。 - 代替ミラーのため、
metadata
からは使用できません。https://mirrors.fedoraproject.org/
squid
コメントで提案されているように、nginx を削除して をインストールしました。squid
私にとってはstore_id_program
うまく機能しています。 この構成では、RPM が元々どこから来たかに関係なく、代替ミラーを使用してキャッシュにアクセスすることもできます。
答え1
ここでは、rpm キャッシュ用に微調整された squid.conf を見つけることができます。
https://github.com/spacewalkproject/spacewalk/blob/master/proxy/installer/squid.conf
メモリとポートの設定を変更するだけで済みます。
答え2
これに対する良い解決策が見つかったかどうかはわかりませんが、私は結局、簡単な Go プログラムを書きました。これはキャッシュ プロキシとして機能し、RPM を保持しますが、データベース ファイルの上流にプロキシするため、常に正確です。現時点では、CentOS、Fedora EPEL、および Arch Linux 用に構成されています。
こちらからご覧いただけますhttps://github.com/yobert/remirror
答え3
apt-cacher-ng
うまく機能します。私たちはこれを何度か使用していますが、問題なく動作しています。また、これをより効率的に使用するには、http ミラーのみ (https ミラーは使用しない) を使用することを忘れないでください (当然、https トラフィックを表示およびキャッシュすることはできません)。
&protocol=http
fedora 公式リポジトリを http ミラーのみを使用するように設定するには、設定 URLの末尾に追加しますmetalink
。たとえば、fedora
リポジトリの場合は次のようになります。
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch&protocol=http
https://www.unix-ag.uni-kl.de/~bloch/acng/
キャッシュ プロキシ。Linux ディストリビューターのパッケージ ファイルに特化しており、主に Debian (および Debian ベース) ディストリビューションを対象としていますが、これに限定されるものではありません。Apt-Cacher のドキュメントを参照して、その利点を確認してください。
答え4
Yum wikiには以下のページが含まれていますキャッシュソリューションのレビュー
話題の一部:
インストール "インテリジェントミラー「」に登録してミラーマネージャー。
Pros Zero configuration, on the client side. Post setup it mostly just works and everything should be immediate. Only downloads what is required by the users. Fully automated server side, once setup/working. Cons Requires setting up a local Squid + Apache-httpd + IntelligentMirror to serve the data. If the server is down then metalinks/MM will route you to an external mirror. Only intelligently caches packages, not metadata.
(ベータ) avahi-packages-server.py および yum avahi サポート (参照:http://james.fedorapeople.org/yum/avahi)
Pros Zero configuration client. Zero configuration server. Only downloads what is required by the users. Cons Not upstream yet (still beta). A client that doesn't run the avahi server side doesn't share it's downloads (so all clients need to run the "server"). Requires working avahi on the network.