1.はじめに
勉強用のサーバ環境の構築のためにCentOS7.9にてnginxをインストールしようとしたところ下記エラーが発生したため対処方法をまとめます。
# yum install nginx
http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
他のミラーを試します。
To address this issue please refer to the below wiki article
ほかリポジトリも同様
2.動作環境
CentOS Linux release 7.9.2009 (Core)
3.確認したこと、原因
実際にアクセスしてみるとたしかに404
でした。
階層たどると下記文言が
This directory (and version of CentOS) is deprecated.
EoLになるとパッケージのインストールでも躓いちゃうんですね。。。
勉強になりました。orz
4.対処
勉強用にちょっと使いたいだけなのでOSのバージョン上げる等はせずに対処していきます。
- リポジトリファイルのバックアップ
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- リポジトリファイルの編集
/etc/yum.repos.d/CentOS-Base.repo
ファイルを編集し、ミラーURLをアーカイブURLに差し替えます。
sudo sed -i 's|mirrorlist=http://mirrorlist.centos.org|#mirrorlist=http://mirrorlist.centos.org|' /etc/yum.repos.d/CentOS-Base.repo
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|' /etc/yum.repos.d/CentOS-Base.repo
- リポジトリのキャッシュクリアと更新
yum clean all
yum update
- 目的のパッケージのインストール
yum install nginx
これで、アーカイブリポジトリを使用してパッケージをインストールできるようになりました。