CentOSは使っている人が多い(と思っています。)ディストリビューションです。
中にはテストのためにどうしても古いバージョンを使わなきゃいけない局面もあるかと。
今回はそんな時のTIPSをご報告します。
ほぼ自分用の備忘録に近い。
古いバージョンを使う
CentOSの古いバージョンを使う、最初のOSインストールのときはいいんですが、yumでパッケージ追加やアップデートができない、というのは不便です。
$ sudo yum check-update
と実行すると、
----------------------------------------------
Loaded plugins: fastestmirror, security
Determining fastest mirrors
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/
removing mirrorlist with no valid mirrors: /var/cache/yum/base/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base
----------------------------------------------
こういうエラーになっちゃいます。要するにもうないよ、って言われます。
そこで<http://vault.centos.org/>で公開されているパッケージを読み込むようにします。
このURLを開くと、CentOSのバージョンがズラーっと並んでいます、ここで古いバージョンのyumを指定できるようになる、という感じ。
設定方法
設定は「/etc/yum.repos.d/CentOS-Base.repo」を編集します。
まずはバージョンを確認しておきます。例えば
$ cat /etc/redhat-release
CentOS release 5.10 (Final)
と、「/etc/redhat-release」ファイルを見れば今のOSバージョンが分かります。
「CentOS release 5 (Final)」とか「CentOS release 5.5 (Final)」とか表示されるかと。
ここのバージョン番号(例えばここでは5.10)をメモしとくわけです。
いざ「/etc/yum.repos.d/CentOS-Base.repo」を開いて…
----------------------------------------------
[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/
----------------------------------------------
こういう感じで記載がある箇所を編集。
----------------------------------------------
[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/5.10/os/$basearch/
----------------------------------------------
「mirrorlist=」で開始する行をコメントアウト
「#baseurl=」で開始する行は元々(デフォルトで)コメントアウトされていますが、コメントアウトされていなければコメントアウトします。
で、「baseurl=」を新たに追記するわけです。
baseurl=http://vault.centos.org/バージョン番号/カテゴリ/$basearch/
て感じです。
例ではバージョンが5.10です。でbaseは「os」となっているので以下のようになります。
「baseurl=http://vault.centos.org/5.10/os/$basearch/」
これを、「updates」やら「extras」やらあるだけ書き換えるってことです。
updatesなら「baseurl=http://vault.centos.org/5.11/extras/$basearch/」を追記、extrasなら「baseurl=http://vault.centos.org/5.11/updates/$basearch/」という具合に、項目があるだけ追加しつつ、デフォルトの「mirrorlist=」や「#baseurl=」はコメントアウトします。
こうすると、<http://vault.centos.org/>の力をお借りしてyumが使えるようになります。
<http://vault.centos.org/>に感謝しつつ使わせていただきます。