CentOS-5.x で yum update をするには


CentOS-5.x で yum update を有効化するには

CentOS-5.x で yum コマンドがエラーになる

CentOS-5.x で yum コマンド実行時にエラーになってしまう場合、ネットワーク通信に問題がなければ CentOS 公式サイトのパッケージが削除されてしまっている可能性があります。基本的にはあるバージョンのサポート期間が終了したら順次削除されていくようですが、公式サイトから削除されてしまうと yum コマンドが失敗してしまいます。

CentOS-5.x の yum を動くようにする

CentOS-5.x のサポートは既に終了しているため公式の yum レポジトリでは提供されておらず、 バックアップとして http://vault.centos.org/ という場所に移されています。しかし諸々の都合により古い CentOS-5.x でも現役で運用しているサーバーは多々あるかと思います。セキュリティー面等を考慮するとセキュリティー問題のあるパッケージはアップデートすることが推奨されますが、アップデート出来ない場合に CentOS-5.x のパッケージを yum 経由で取得する方法を記載します。




http://vault.centos.org/ とは何か

http://vault.centos.org/readme.txt によると、メインとなる CentOS のリポジトリから削除されてしまったもののスナップショットを保持しています。但し古いアーカイブとして提供されているものであって、セキュリティー問題の修正版等のアップデートは提供されません。

http://vault.centos.org/ にアクセスすることで、どの CentOS バージョンのパッケージが保管されているのか分かります。

yum の設定ファイルを変更して yum を使えるようにする

まず最初に CentOS-5.x のパッケージを yum コマンド経由でインストール・アップデートするには yum の設定 ファイルを変更する必要があります。

/etc/yum.repos.d/CentOS-Base.repo というファイルがありますので、 念のためファイルのバックアップをとっておきます。
$ sudo cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.BACKUP

次に /etc/yum.repos.d/CentOS-Base.repo ファイルの内容を以下の内容に置き換えます。
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://vault.centos.org/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://vault.centos.org/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
baseurl=http://vault.centos.org/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

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

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

上記の内容にファイルを書き換えたらファイルを保存し、以下のコマンドを実行するとパッケージをアップデートすることが出来るようになります。
$ sudo yum update