CentOS で yum がエラーを吐いてしまう

投稿者: | 2011/09/16

CentOS で yum update を行おうとすると以下のような種類のエラーが吐かれてしまうことがあります.

Error: Cannot retrieve repository metadata
Could not retrieve mirrorlist
Error: failure: repodata/primary.xml.gz
Error: Cannot find a valid baseurl

どうも,ミラーから見にいくリポジトリに問題があるようです.
根本的な解決にはならないかと思いますが,/etc/yum.repos.d/CentOS-Base.repo を編集し,理研のリポジトリを直接見にいくように修正すると一時的にエラーは回避できます.

以下は修正箇所のみを書いています.

/etc/yum.repos.d/CentOS-Base.repo

[base]
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/os/$basearch/
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5

[updates]
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/updates/$basearch/
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5

[addons]
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/addons/$basearch/
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5

[extras]
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/extras/$basearch/
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5

[centosplus]
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centospl
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/centosplus/$basearch/
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5

[contrib]
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/contrib/$basearch/
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5

[dag]
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el4/en/$basearch/dag/
gpgkey=http://ftp.riken.jp/Linux/caos/centos/RPM-GPG-KEY-CentOS-5

編集が終わったら yum clean all してから update してみましょう.

$ sudo yum clean all
$ sudo yum update