ミラーリポジトリが提供されなくなったCentOS 6でyum update/search/install などを使う方法

2020/11/30 でCentOS-6 がサポート切れとなった事に伴い、yum でエラーが発生するようになった。
yum-cron で失敗してroot宛にメールが来て気付くケースが多いかもしれない。

ログインしてyum updateしても、下記のようなエラーになる。

# yum update
読み込んだプラグイン:fastestmirror, refresh-packagekit, security
更新処理の設定をしています
Determining fastest mirrors
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt
エラー: Cannot find a valid baseurl for repo: base

CentOS-5 のサポートが終了した時には、
http://ftp.jaist.ac.jp/pub/Linux/CentOS/5.11/readme
へアクセスするとリポジトリの書き換え先URLが記載されていた。

http://vault.centos.org/5.11/

同じように、
http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.10/readme
へアクセスしてはみたものの、サポートが終了した旨しか書いていない。

が、
https://vault.centos.org/
へ行ってみると、
https://vault.centos.org/6.10/
も用意されているので、参照するリポジトリURLを書き換えれば、
CentOS-6 でパッケージの追加や更新の適用は可能。

サポートは終了しているので、後継OSへ移行するのが推奨されるけど、
まだCentOS6を使わなければならない場合は、
せめて11月末までにリリースされたパッケージのアップデートを適用しておきたいところ。

設定ファイルのバックアップを取ったうえで、
/etc/yum.repos.d/CentOS-Base.repo を以下のように書き換える。

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
 ↓
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=https://vault.centos.org/6.10/os/$basearch/

[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
 ↓
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=http://vault.centos.org/6.10/updates/$basearch/

[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
 ↓
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=http://vault.centos.org/6.10/extras/$basearch/

[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
 ↓
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=http://vault.centos.org/6.10/centosplus/$basearch/

[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
 ↓
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
baseurl=http://vault.centos.org/6.10/contrib/$basearch/

あとは、キャッシュを削除してから update や search/install を行う。

# yum clean all

# yum update
 あるいは
# yum search ***
 など


【2020年12月8日】
別な方法も書きました。

shobon.hatenablog.com