テストビルドのインストールに使用するローカルの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キャッシュをクリーンアップする必要がないように、ローカルリポジトリを設定するにはどうすればよいですか?
「yum clean expire-cache」を実行できます。これは、yumにリポジトリをチェックするように指示するはるかに効率的な方法です。 ...もう1つのことは、ローカルリポジトリのmetadata_expire値を変更することです。 (man yum.confを参照してください)。
Yumクライアントの/etc/yum.confに次の行を追加してください:
metadata_expire = 1m
次のコマンドは、詳細を表示します。
男yum.conf
ご参考までに。 CentOS 5のパラメーターはコメント化されています。 CentOS 6.2の値は90mです。
yum clean metadata
は、キャッシュされた名前などのみをクリーンアップします。その後、yumは何が利用可能であるかという考えをリロードします。
yumの--enablerepo = localrpmrepoは、後のオプションです。そう
yum --enablerepo=localrpmrepo clean metadata
localrpmrepoをリポジトリ名に置き換えます
同じ問題が発生しただけです:
全部きれい