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


19

テストビルドのインストールに使用するローカル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キャッシュを消去せずにクライアントから実行するだけで済むように、ローカルリポジトリを設定する方法を教えてください。

回答:


24

「yum clean expire-cache」を実行できます。これは、yumにレポジトリを確認するよう指示するはるかに効率的な方法です。...他にすべきことは、ローカルリポジトリのmetadata_expire値を変更することです。(man yum.confを参照)。


特定のリポジトリのみを期限切れにする方法はありますか?
ミロスラフ14年

1
それを行う唯一の簡単な方法は--disablerepo = * --enablerepo = myrepo、otherrepo ...です。ただし、エイリアスを作成することができます。
ジェームズアンティル14年

11

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

metadata_expire = 1m

次のコマンドで詳細情報が表示されます。

男yum.conf

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


これはやや古いですが、私はこれに出くわしました。/etc/yum.repos.d/my.repoファイルを編集して、単一のリポジトリにこの値を設定できます。
jwm

3

yum clean metadata キャッシュされた名前などのみをクリーンアップした後、yumは利用可能なもののアイデアをリロードします。


0

同じ問題が発生しました。試してください:

すべてきれい


1
質問を注意深く読んでください。彼はキャッシュをクリアする必要のない代替方法を探していたと思います。
slm

あなたはとても正しい神:|
jobwat

0

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

yum --enablerepo=localrpmrepo clean metadata

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


いいえ、この場合、問題は確かにキャッシュがまだ有効であり、更新をチェックしないと考えることです。
ファルコンモモット

このステートメントと別のステートメントを使用して、1つのリポジトリのみを更新できましたyum --disablerepo=* --enablerepo=epel clean metadata -q; yum check-update --disablrepo=* --enablerepo=epel -q。bash関数を作成して完了です!
bgStack15 16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.