[Memo] RHEL8 “dnf update”で「~Cannot prepare internal mirrorlist: Cannot resolve path for~」のエラー

作業用メモとして。

RHEL8で「dnf update」コマンド実行したらエラーが出ます。

以下が例。

8.4に固定してdnf updateを実施した際に以下エラー
[root@rhel84 ~]# dnf update
サブスクリプション管理リポジトリーを更新しています。
Red Hat Enterprise Linux 8 for x86_64 – AppStre 0.0 B/s | 0 B 00:00
エラー: repo ‘rhel-8-for-x86_64-appstream-rpms’ のメタデータのダウンロードに失敗しました : Cannot prepare internal mirrorlist: Cannot resolve path for: “4/x86_64/appstream/os”

この原因ですがver固定の記載方法に間違いがあることです。

/etc/yum/vars/releasever に「8.4」みたく固定したいVerを記載すればVer固定ができます。

個の記載内容に間違いがあるとNGでした。

例のエラーメッセージだと「8,4」と記載した際に出ました。

これを「8.4」にすると問題なくアップデートOKです。
※改行有でも行けました(前はだめだったと記憶しているので何か変わった?)

以下推測。

「8-4」記載にすると「Status code: 404 for https://cdn.redhat.com/content/dist/rhel8/8-4/x86_64/appstream/os/repodata/repomd.xml (IP: <IPアドレス>)」と出たました。

repoの中に「https://cdn.redhat.com/content/dist/rhel8/$releasever/x86_64/~」といった記載がされていて$releaseverが「/etc/yum/vars/releasever」に記載されたものに書き換わります。

これが「8-4」記載だと「https://cdn.redhat.com/content/dist/rhel8/8-4/x86_64/~」となり、URLとして成り立っているようです。

しかしながら「8,4」記載だと「https://cdn.redhat.com/content/dist/rhel8/8,4/x86_64/~」とはならず、「,」以前の部分は切り捨てられて「4/x86_64/~」となってしまい、URLとして成立しなくなる、そのためにrepoを取りに行けなくなり、「Cannot prepare internal mirrorlist」というエラーが出る、というのが原因かもしれません。

あくまでも推測ですが。

コメントを残す

メールアドレスが公開されることはありません。