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に乗り換えるべきだと思いますが延命処置ということで。