問題
wslで sudo apt update
するときに、名前解決ができない問題がある。
具体的には
sudo apt update
を実行すると
Err:1 http://archive.ubuntu.com/ubuntu focal InRelease
Temporary failure resolving 'archive.ubuntu.com'
というエラーが出る。
この記事では、これを解決する。
解決方法指針
書いてあるとおりに、名前解決ができていないので自分の環境にあったDNSサーバを /etc/resolv.conf
に指定する。
いろいろな記事に記載されているのはDNSサーバとして 8.8.8.8
を指定するように書いてある。
私の環境ではこれでは解決しなかった。
これを解決するために自分の環境にあったDNSサーバを調べ、それを /etc/resolv.conf
に記載する手順を書いておく。
前提
wslのネットワークの自動で生成機能は切っておきましょう。
/etc/wsl.conf
をこんな感じにしておく。
username@hostname:/etc$ cat /etc/wsl.conf
[network]
generateResolvConf = false
やり方
自分の環境のDNSサーバを調べる
コマンドプロンプトで DNSサーバを調べるために以下のコマンドを叩く。
PS C:\Users\username> ipconfig.exe /all
するとDNSサーバを含む全てのネットワークが表示される。
Wireless LAN adapter Wi-Fi:
接続固有の DNS サフィックス . . . . .:
説明. . . . . . . . . . . . . . . . .: Intel(R) Dual Band Wireless-AC 8265
物理アドレス. . . . . . . . . . . . .: D0-AB-D5-E3-41-D0
DHCP 有効 . . . . . . . . . . . . . .: はい
自動構成有効. . . . . . . . . . . . .: はい
IPv4 アドレス . . . . . . . . . . . .: 192.168.11.10(優先)
サブネット マスク . . . . . . . . . .: 255.255.255.0
リース取得. . . . . . . . . . . . . .: 2021年9月13日 0:39:37
リースの有効期限. . . . . . . . . . .: 2021年9月15日 8:29:58
デフォルト ゲートウェイ . . . . . . .: 192.168.11.1
DHCP サーバー . . . . . . . . . . . .: 192.168.11.1
DNS サーバー. . . . . . . . . . . . .: 192.168.11.1
NetBIOS over TCP/IP . . . . . . . . .: 有効
この中でDNSサーバと書いてある箇所をメモする。
上記の表示例だと 192.168.11.1
がDNSサーバのIPアドレス。
/etc/resolv.conf に書き込む
sudo sh -c "echo 'nameserver 192.168.11.1' > /etc/resolv.conf"
apt updateを実行する
ここまでやると名前解決のエラーが無くなり、解決できるはず。
具体的には以下のような表示になり、解決する。
username@hostname:/etc$ sudo apt update
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:4 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [861 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:6 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [8628 kB]
Get:7 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [166 kB]
Get:8 http://security.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [8692 B]
Get:9 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [405 kB]
(以下略)