dnf でパッケージをインストールしようとしたらエラーでインストールできない
Errors during downloading metadata for repository 'fedora':
- Curl error (6): Couldn't resolve host name for https://mirrors.fedoraproject.org/metalink?repo=fedora-35&arch=x86_64 [getaddrinfo() thread failed to start]
Error: Failed to download metadata for repo 'fedora': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for https://mirrors.fedoraproject.org/metalink?repo=fedora-35&arch=x86_64 [getaddrinfo() thread failed to start]
ネットにつながらない?
単に curl を使うと
# curl https://google.com
curl: (6) getaddrinfo() thread failed to start
見覚えのないエラー
dnf のエラーメッセージ的には名前解決の問題みたいなので IP 直接指定で ping してみる
とりあえずこういうときによく使う 8.8.8.8
ping 8.8.8.8
ping コマンドが入ってないらしい
入れたいけど dnf が使えない
8.8.8.8 はウェブサーバがないので curl で試せない
ホスト側で適当なウェブサイトの IP アドレスを調べてから curl で確認
# curl --head -k https://52.69.186.44
HTTP/2 301
content-length: 0
location: https://github.com/
レスポンスを受け取れてるので名前解決の問題であってそう
でもなんで?
fedora だし多少のバグありは仕方ないと思ってるけど rawhide でもないし このイメージのリリースは 20 日ほど前
前回の cifs-utils みたいな一部の用途ならまだしも 名前解決できないような致命的なバグをここまで放置は考えづらい
探してみるとこんな記事が
https://medium.com/nttlabs/ubuntu-21-10-and-fedora-35-do-not-work-on-docker-20-10-9-1cd439d9921
fedora 35 だけじゃなく Ubuntu 21.10 でも発生する問題みたい
これらは glibc のバージョンが 2.34 になっていてこのバージョンでは clone のシステムコール関係の変更があったみたい
その変更に Docker が対応できてないからエラーになっていて Docker のバージョンを上げればいいんだとか
バージョン 20.10.10 で修正されたようで Ubuntu のパッケージだと 20.10.7 で修正されてるらしい