2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Rocky Linux 8.5で "dnf --releasever" すると404エラー

Last updated at Posted at 2022-11-13

解決策まで調べきれてないのだけど、時間がないので確認した範囲についてメモ。

現象

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 のエラー画面を見ると、以下のように有効な repoarch の組合せが一覧表示される。

# 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つ問題が考えられそう。

  1. リポジトリ名は AppStream- ではなく rocky-AppStream- で始まる必要がありそう。
  2. そうだとしても 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使ってごめんなさい。もしなにか解決策ご存じの方おいででしたら、コメントいただけると嬉しいです。本当に困ってます…。

2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?