Edited at

yum - Not using downloaded ius/repomd.xml because it is older than what we have: ...


経緯

CentOS 7 で最新の Git を入れるために IUS リポジトリを追加したら発生。

別に問題になるわけではないが、 yum-cron の hourly cron で毎時メールが飛んできてうざいので、何とかしたい。


原因


  1. IUS のミラーサイトのうち、およそ半数のミラーサイトの反映が遅い。 ミラーリスト

  2. yum-plugin-fastestmirror によって、利用するミラーが定期的に変わる。

  3. 最新版が反映されているミラーサイトを利用した後、反映が遅いミラーサイトに変わると、件名のようなメッセージが出力される。


対処

ようするに反映が遅いミラーサイトを利用しないようにしたい。が……


対処 A. ミラーサイトをそもそも使わないようにする。

非推奨。確実だが、配布側、利用側、どちらのためにも出来るだけミラーサイトを利用したい。

どうしようもないときに。

/etc/yum.repos.d/{name}.repo を編集する。



  • mirrorlist をコメントアウト。


  • baseurl をアンコメント。


対処 B. 反映が遅いミラーサイトを調べ、利用しないように設定する。

ちょっとはマシ。調べるのが面倒だが……。

/etc/yum/pluginconf.d/fastestmirror.conf で、除外したいミラーサイトのドメインを

exclude=mirror1.example.com, mirror2.example.com のように設定する。


対処 C. 利用するミラーサイトを固定する。

同じくらい、ちょっとはマシ。やはり、どのミラーサイトの反映が早いかを一度調べる必要がある。

/etc/yum/pluginconf.d/fastestmirror.conf で、利用するミラーサイトのドメインを

prefer=mirror.example.com と設定する。

なお、 prefer に複数のドメインを設定することはできない。


対処 D. それ以外

現状なさそう。


結果

結局、対処 C (利用するミラーサイトを固定する) で対処した。

IUS リポジトリのミラーリストに mirrors.kernel.org が含まれていたので、それを prefer に設定した。

なお、設定後、

# リポジトリのメタ情報を削除。

sudo yum clean metadata

# yum-plugin-fastestmirror のキャッシュを削除。
sudo rm -f /var/cache/yum/x86_64/7/timedhosts

を実行する必要がある。