CentOS8「Failed to download metadata for repo AppStream」エラーの解決方法


CentOS8をインストールして、yumアップデート、またはdnfアップデート、ネットワーク経由のインストールをかけたところ以下のようなエラーが発生しました。

$ yum -y update
Failed to set locale, defaulting to C.UTF-8
CentOS-8 - AppStream                                           0.0  B/s |   0  B     00:05
Failed to download metadata for repo 'AppStream'
Error: Failed to download metadata for repo 'AppStream'

このエラーはアップデートやインストールに必要なパッケージのダウンロードに失敗しているというエラーとなっている様です。

このエラーに関しての解決方法をまとめました。


「CentOS8」で(ailed to download metadata for repo〜)のエラー発生原因はDNSの名前解決に失敗しているため

結果的な原因としてはDNSの名前解決に失敗しているために発生するエラーとなります。
初期設定の際、外部への通信ができるDNSサーバーを指定していない、または間違ったIPアドレスでDNSサーバーを指定していると上記の様なエラーが発生します。

解消の仕方はいくつかありますので以下を参考にしてください。

事前に対象のインターフェースを確認

DNSはインターフェースに設定するので通信が可能なインターフェースを以下コマンドで事前に確認します。

$ nmcli device
DEVICE  TYPE      STATE     CONNECTION
ens192  ethernet  接続済み  ens192
lo      loopback  管理無し  --
$

今回の対象のインターフェースは「ens192」となります。


コマンドでDNSサーバーを設定

一つ目の解決方法はコマンドで直接DNSのIPアドレスを設定します。

$ nmcli connection modify ens192 ipv4.dns 8.8.8.8

対象インターフェースのコンフィグにDNSサーバーを追加

2つ目の解決方法は対象のインターフェースにDNSサーバーを追記する方法となります。

$ vim /etc/sysconfig/network-scripts/ifcfg-ens192

------追加------
DNS1=8.8.8.8

「resolv.conf」に追記

もう一つの方法は「resolv.conf」ファイルにDNSサーバーを追記する方法です。

$ vi /etc/resolv.conf

------追加------
nameserver 8.8.8.8

上記、どの設定でもDNSサーバーは追加されますが、最初のコマンド型式の方が簡単です。

再起動で設定を反映

上記で、DNSサーバーを追加しても通信ができません。
一度ネットワークを再起動させ設定を反映させないといけません。

$ systemctl restart NetworkManager.service

私の場合はOS自体の再起動もしちゃいます。
お好みでどうぞ。

$ reboot

以上が、yum、dnfコマンド実行時に発生するエラーの解決方法となります。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!