解決策まで調べきれてないのだけど、時間がないので確認した範囲についてメモ。
現象
AWS EC2に、Rocky Linuxのクラウドイメージページで確認したRocky Linux 8のAMI ID( ap-northeast-1
用の ami-0ddb05e945a674cf5
)でインスタンスをデプロイすると、Rocky Linux 8.5が構成される。
[root tmp]# cat /etc/redhat-release
Rocky Linux release 8.5 (Green Obsidian)
この環境で dnf --releasever=8.5
で何かしらインストールしようとすると、404 not foundエラーになる。
[root tmp]# dnf --releasever=8.5 -y install zip
Rocky Linux 8.5 - AppStream 4.9 kB/s | 15 kB 00:02
Errors during downloading metadata for repository 'appstream':
- Status code: 404 for https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=AppStream-8.5 (IP: 151.101.54.132)
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: Status code: 404 for https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=AppStream-8.5 (IP: 151.101.54.132)
調査と考察
404を返している https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=AppStream-8.5 のエラー画面を見ると、以下のように有効な repo
と arch
の組合せが一覧表示される。
# repo = AppStream-8.5 arch = x86_64 error: invalid repo or arch
# following repositories are available:
# repo=rocky-AppStream-8.6&arch=aarch64
# repo=rocky-AppStream-8.6&arch=x86_64
:
ここからすると、2つ問題が考えられそう。
- リポジトリ名は
AppStream-
ではなくrocky-AppStream-
で始まる必要がありそう。 - そうだとしても
rocky-AppStream-8.5
はないので、8.6か9を指定する必要がありそう。
リポジトリ名は rocky-AppStream-
で始まる必要がありそう。
下記リンク先の投稿を見つけた。多分同じ問題を議論していて、AzureイメージのStockでは /etc/yum.repos.d/
以下の Rocky-AppStream.repoyum.repo
等で rocky-AppStream-
になっているらしい。
ただし「ProComputers RockyLinux-8.6-x86_64-Minimal-8GiB-HVM-」をサブスクライブしてデプロイしたところ、 /etc/yum.repos.d/
以下の Rocky-AppStream.repoyum.repo
ではリポジトリ名は AppStream-
で始まる記述のままになっていた。
root tmp]# cat /etc/redhat-release
Rocky Linux release 8.6 (Green Obsidian)
[root tmp]# cat /etc/yum.repos.d/Rocky-AppStream.repo
# (コメント行略)
[appstream]
name=Rocky Linux $releasever - AppStream
mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever
#(以下略)
こちらの環境ではエラーにならないので、もしかしたらどちらでもいいのかもしれない。
rocky-AppStream-8.5
はないので、8.6か9を指定する必要がありそう。
こちらは、Rocky Linux8.5ってリポジトリ提供されていないのかなというところなのだけど、よくわからない(私がRHELにもRockyLinuxにも曚い)。
「なぜRHELにもRockyLinuxにも曚いくせに8.6使わないの」「奇数マイナーバージョン(≒開発版)使っておいて自力で問題解消できませんとかどうなの」と言われると一言もないのだけど、あえて言わせてもらうとなんでRockyLinuxプロジェクト公式のクラウドイメージは8.5なんですかね( 個人の意見です )?上記の通りProComputersによるRockyLinux 8.6のイメージ使えば問題起きないので、8.5使わせるRockyLinuxプロジェクトが(以下割愛、個人の意見です )。
終わりに
RHELにもRockyLinuxにも曚いのに8.5使ってごめんなさい。もしなにか解決策ご存じの方おいででしたら、コメントいただけると嬉しいです。本当に困ってます…。