4

プライベートリポジトリ(今のところローカルマウント)をセットアップし、カスタムrpmを構築しました。yum update mypackageアイデアは、rpmを構築し、それをリポジトリに追加して、複数のサーバーにトリガーすることです。

私が抱えている問題は、新しいバージョンのrpmが表示されないことです...そして、リポジトリから削除した後でも、古いバージョンのrpmは表示されます。

試しましたが、ローカルリポジトリの最新データが取得さyum updateyum clean allません。

パッケージをアンインストールして再インストールすると、存在しなくなった古いrpmをインストールしようとして、失敗します。

すぐに更新を実行できるようにリポジトリデータを更新するプロセスは何ですか?

** アップデート **

これを書いているときにcreaterepo .、rpmを更新してから試してみようと思いました。これにより、最新バージョンをインストールできました。

これは、ファイルを更新した後に実行する必要がありますか?

4

3 に答える 3

8

リポジトリメタデータを再構築する最も速い方法は、createrepoに--updateフラグを使用することです。

createrepo --update -v /path/to/repo

これは、createrepoが最後に実行されてからリポジトリに追加されたRPMのみを処理します。

于 2013-09-04T02:28:11.500 に答える
2

Fgeのコメントは正しいです。リポジトリに新しいrpmを追加するたびに、createrepoを実行する必要があります。それ以外の場合、リポジトリメタデータは更新されないため、以前のRPMが最新バージョンとして認識されます。

編集:スティーブグッドマンによる以下の回答と同じ手順を説明しているリンク先のドキュメントは、何らかの理由で削除されました。代わりにその回答を確認してください(https://stackoverflow.com/a/18604484/1263015

于 2012-12-29T22:32:32.393 に答える
0

また、yum.repo.d / internal.repoファイルを変更して、メタデータを通常より早く期限切れにするmetadata_expire行を含める必要があることもわかりました。

[internal]
metadata_expire=1h
于 2015-07-29T18:09:14.237 に答える