CentOS7のyumでのエラーを対処してみた。

CentOS7が2024年6月30日をもってサポート終了 (EOL) となりました。yum list updates を実行してもミラーサイトが閉鎖されたのか、軒並み [Errno 14] HTTP Error 404 – Not Found となります。


# yum list updates
 :
http://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/7.9.2009/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
他のミラーを試します。
http://ftp.tsukuba.wide.ad.jp/Linux/centos/7.9.2009/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
他のミラーを試します。
http://download.nus.edu.sg/mirror/centos/7.9.2009/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
他のミラーを試します。
http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
他のミラーを試します。
 :

ですので、過去のバージョンのパッケージが置かれている「http://vault.centos.org/」のサイトから取得するように、リポジトリファイルを書き換えることにしました。rootユーザーで作業します。

まずは、CentOSのバージョンを確認します。

# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

リポジトリのファイルは /etc/yum.repos.d 配下にあるので、ここにある CentOS-Base.repo ファイルを修正します。

# cd /etc/yum.repos.d
# cp -p CentOS-Base.repo CentOS-Base.repo.backup
# vi CentOS-Base.repo

mirrorlist= の行をコメントアウトし、新たに baseurl= の行を追加します。


[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/
baseurl=http://vault.centos.org/7.9.2009/os/$basearch/ ←★この行を追加する
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
exclude=kernel-* grubby-*

追加した行 baseurl=http://vault.centos.org/7.9.2009/os/$basearch/ の太字部分はCentOSのバージョンです。CentOS-Base.repo ファイルにはbaseブロック以外にも updates、extras、centosplus のブロックがあるので同様に書き換えます。

ファイルを保存したら、再度、yumコマンドを実行します。

先ほどの [Errno 14] HTTP Error 404 – Not Found は出なくなったのですが Not using downloaded というのが出ました。


# yum list updates
 :
centosplus                                                                                                             | 3.6 kB  00:00:00     
Not using downloaded centosplus/repomd.xml because it is older than what we have:
  Current   : Thu Mar  9 01:25:39 2023
  Downloaded: Fri Oct 30 05:03:00 2020
extras                                                                                                                 | 3.6 kB  00:00:00     
Not using downloaded extras/repomd.xml because it is older than what we have:
  Current   : Wed Apr  3 02:41:49 2024
  Downloaded: Fri Oct 30 05:03:00 2020
updates                                                                                                                | 3.6 kB  00:00:00     
Not using downloaded updates/repomd.xml because it is older than what we have:
  Current   : Sat Jun 22 01:30:50 2024
  Downloaded: Fri Oct 30 05:03:00 2020
 :

baseは大丈夫のようです。centosplus、extras、updates で出ています。これはダウンロードされる repomd.xml ファイルがキャッシュされているものより古い(キャッシュのほうが新しい)ために出ているようです。それにしても、ダウンロードされる repomd.xml が2020年だとかなり古い気がするのですが。。

これを解消するには yum clean all を実行するとのこと。いちおう、やってみました(というか、やってしまいました)。

# yum clean all

再度、yum list updates を実行すると、Not using downloaded は解消されました。ですので、yum update もあわせて実行しました。

# yum list updates
# yum update

yum clean all で新しい方のキャッシュのクリアが気にはなりますが、前回の yum update を2024年の6月下旬に実施したことを踏まえると、ほぼ最新の状態になっていると思いたい。そのため、yumコマンドが使えることを優先したと思えば、まあいいかと思います。本来であれば、CentOS7から他のOSに乗り換えるべきだと思いますが延命処置ということで。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です