CentOS6.7でyumのアップデートが失敗する[Errno 14]

はじめに

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

# リポジトリ設定ファイルの書き換え
# 1.mirrorlistの行をコメントアウト
# 2.$releasever部分を6.7に変更
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/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#released updates
[updates]
name=CentOS-6.7 - Updates
baseurl=http://vault.centos.org/centos/6.7/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-6.7 - Extras
baseurl=http://vault.centos.org/centos/6.7/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6.7 - Plus
baseurl=http://vault.centos.org/centos/6.7/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-6.7 - Contrib
baseurl=http://vault.centos.org/centos/6.7/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

これで yum のアップデートができるはず.

エラーが出続ける場合

自分の場合は書き直してあげた場合でもエラーがでていました.

その場合にはネットワーク周りの設定を確認してください.

自分の場合にはプロキシの設定がされていないため, 上記の手順だけではアップデートできませんでした. 

自分と同様にプロキシ周りが原因の場合は以下のように yum.conf ファイルを変更してみてください.

# yum.conf ファイルを変更
sudo vim /etc/yum.comf

# メンテナンス、アップデート用Proxyを追加
proxy=http://proxy.xxx.xxx:portnum