web-dev-qa-db-ja.com

キャッシュを消去せずにyumでローカルリポジトリの更新を確認するにはどうすればよいですか?

テストビルドのインストールに使用するローカルのyumリポジトリを設定しました。テスト目的で、私のパッケージは<svn version number>.<date>.<time>によってバージョン管理されています(例:12345.20110908.150404

問題は、新しいRPMを作成したら、それをリポジトリディレクトリにコピーしてcreaterepo $REPO_DIRを実行すると、yumが新しいRPMが使用可能であると認識しないことです。

$ cd $REPO_DIR
$ ls -1
repodata
package-12345.20110908.150404-1.x86_64.rpm
package-12345.20110908.174329-1.x86_64.rpm

$ createrepo .
# ...snip...

$ rpm -q package
package-12345.20110908.150404-1.x86_64

$ yum list --showduplicates package
Installed Packages
package.x86_64    12345.20110908.150404-1    @repo
Available Packages
package.x86_64    12345.20110908.150404-1    repo

更新を確認し、yum clean allを実行してメタデータを再フェッチすると、更新を取得できますが、これは、リポジトリから何かを行う必要がないため、リポジトリから何かを行う必要があることを意味していると思います他のyumリポジトリ用。

クライアントからyum updateを実行するだけで、yumキャッシュをクリーンアップする必要がないように、ローカルリポジトリを設定するにはどうすればよいですか?

19
Matt

「yum clean expire-cache」を実行できます。これは、yumにリポジトリをチェックするように指示するはるかに効率的な方法です。 ...もう1つのことは、ローカルリポジトリのmetadata_expire値を変更することです。 (man yum.confを参照してください)。

24
James Antill

Yumクライアントの/etc/yum.confに次の行を追加してください:

metadata_expire = 1m

次のコマンドは、詳細を表示します。

男yum.conf

ご参考までに。 CentOS 5のパラメーターはコメント化されています。 CentOS 6.2の値は90mです。

11
2oahu.com

yum clean metadataは、キャッシュされた名前などのみをクリーンアップします。その後、yumは何が利用可能であるかという考えをリロードします。

3
vonbrand

yumの--enablerepo = localrpmrepoは、後のオプションです。そう

yum --enablerepo=localrpmrepo clean metadata

localrpmrepoをリポジトリ名に置き換えます

0
Neil

同じ問題が発生しただけです:

全部きれい

0
jobwat