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

キャッシュを消去せずに 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 updateyum キャッシュを消去せずにクライアントからのみ実行できるように、ローカル リポジトリをどのように設定すればよいですか?

答え1

「yum clean expire-cache」を実行すると、yum にリポジトリをチェックするように指示するより効率的な方法になります。 ... 他に実行する必要があるのは、ローカル リポジトリの metadata_expire 値を変更することです (man yum.conf を参照)。

答え2

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

メタデータの有効期限=1分

次のコマンドを実行すると、詳細情報が表示されます。

yum.conf を実行します。

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

答え3

yum clean metadataキャッシュされた名前などだけをクリーンアップし、その後、yum は利用可能なものに関する情報を再読み込みします。

答え4

yumの--enablerepo=localrpmrepoがあなたが求めているオプションです。

yum --enablerepo=localrpmrepo clean metadata

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

関連情報