しばらく使用していなかったCentOS5環境でyum updateを行ったらNot Foundのエラーが発生し、リポジトリに接続出来ませんでした。その時行った対応方法について備忘としてまとめました。
かなり場当たり的な対応で、正しい方法か分かりませんが実際に行った操作内容を記載します。
1)HTTP Error 404: Not Foundのエラー発生
# yum update : http://ftp.riken.jp/Linux/centos/5.10/os/i386/CentOS/libxml2-devel-2.6.26-2.1.2.8.el5_5.1.i386.rpm: [Errno 14] HTTP Error 404: Not Found Trying other mirror.
2)yum clean allを実施
あまり深く考えずに、リポジトリあるいはyumのデータベースが壊れているのかと思い、yum clean allを実行すると、別のエラーが発生しました。
# yum clean all Loading "installonlyn" plugin Cleaning up Everything # yum update Loading "installonlyn" plugin Setting up Update Process Setting up repositories http://directory.fedoraproject.org/yum/idmcommon/fedora/6/i386/RPMS/repodata/repomd.xml: [Errno 14] HTTP Error 404: Not Found Trying other mirror. Error: Cannot open/read repomd.xml file for repository: idmcommon
3)idmcommon.repoをリネーム
リポジトリディレクトリの/etc/yum.repos.d/内を見ると下記ファイルがありました。
CentOS-Base.repo CentOS-Media.repo dirsrv.repo idmcommon.repo
よく仕組みが分からないのですが2)実施時のエラーを見るとidmcommon.repoのリポジトリを見に行ってしまっているようです。
このリポジトリを見に行かないようにする設定の仕方が分からなかったのでとりあえず、ファイル名をリネームしてみました。
4)dirsrv.repoをリネーム
今度は、dirsrv.repoを見に行ってエラーになっているようなので、これもファイル名をリネームしました。
# yum update Loading "installonlyn" plugin Setting up Update Process Setting up repositories http://directory.fedoraproject.org/yum/dirsrv/fedora/6/noarch/RPMS/repodata/repomd.xml: [Errno 14] HTTP Error 404: Not Found Trying other mirror. Error: Cannot open/read repomd.xml file for repository: dirsrv-noarch
5)CentOS-Base.repoの”mirrorlist”をコメントアウトし、baseurlのコメントを削除
下記のようにミラーリストを無効にし、ベースURLを有効にするよう変更してみました。
[base] name=CentOS-$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&rep o=os baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ : #released updates [updates] name=CentOS-$releasever - Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&rep o=updates baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
この設定変更によってyum updateが実行できるようになりました。