はじめに
CentOS 6.7 のメンテナンスを任された際に, yum のアップデートが失敗して時間を取られた際の解決法のメモ.
エラー内容
[Errno 14] PYCURL ERROR 22 - "The requested URL returned error:
404 Not Found"
上記の感じのエラーがでてupdate できない.
原因
yum のリポジトリのURLが古いままになっていることが原因だった.
baseurl=http://mirror.centos.org/Linux/centos/$releasever/os/$basearch/
調べてみると, 古いリポジトリは mirror.centos.org ではなく vault.centos.org に置かれるようになったらしい.
確かに, URLに実際にアクセスしてみるとエラーページでアクセスできなかった.
解決方法
/etc/yum.reos.d/CentOS-Base.repo の中身を更新してあげれば動きました.
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
sudo vim /etc/yum.repos.d/CentOS-Base.repo
自分の場合の書き換えた結果は以下のとおりです.
[base]
name=CentOS-6.7 - Base
baseurl=http://vault.centos.org/centos/6.7/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[updates]
name=CentOS-6.7 - Updates
baseurl=http://vault.centos.org/centos/6.7/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[extras]
name=CentOS-6.7 - Extras
baseurl=http://vault.centos.org/centos/6.7/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[centosplus]
name=CentOS-6.7 - Plus
baseurl=http://vault.centos.org/centos/6.7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[contrib]
name=CentOS-6.7 - Contrib
baseurl=http://vault.centos.org/centos/6.7/contrib/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
これで yum のアップデートができるはず.
エラーが出続ける場合
自分の場合は書き直してあげた場合でもエラーがでていました.
その場合にはネットワーク周りの設定を確認してください.
自分の場合にはプロキシの設定がされていないため, 上記の手順だけではアップデートできませんでした.
自分と同様にプロキシ周りが原因の場合は以下のように yum.conf ファイルを変更してみてください.
sudo vim /etc/yum.comf
proxy=http://proxy.xxx.xxx:portnum