WSL: Could not resolve hostname Temporary failure
WSL 无法解析域名:Could not resolve hostname github.com: Temporary failure in name resolution解决方法一:配置本地域名解析:sudo vim /etc/hosts添加如下配置: (172.65.251.78是ping成功的ip)172.65.251.78 github.com解决方法二:Boot your distro.
WSL 无法解析域名:
Could not resolve hostname github.com: Temporary failure in name resolution
解决方法一:(每次重启电脑后都需要设置)
配置本地域名解析:
-
sudo vim /etc/hosts
-
添加如下配置: (172.65.251.78是
ping
成功的ip
)172.65.251.78 github.com
解决方法二: (推荐)
# 1. 编辑 /etc/wsl.conf 文件
$ vim /etc/wsl.conf
[network]
generateResolvConf = false
# 2. 重启 wsl
$ wsl --shutdown
# 3. 启动 wsl, 拷贝保留原来的 /etc/resolv.conf文件, 创建一个新的 /etc/resolv.conf 文件编辑如下
$ sudo mv /etc/resolv.conf /etc/resolv.conf.old
$ sudo vi /etc/resolv.conf
nameserver 8.8.8.8
解决方法三:
-
Boot your distro.
-
cd ~/../../etc
-
Create wsl.conf, however you see fit.
sudo vim wsl.conf
,sudo touch wsl
.conf and edit it later, whatever. -
Add these lines to wsl.conf:
[network] generateResolvConf=false
-
exit
or in Windows cmdwsl --terminate [YourDistroName]
-
Boot your distro.
At this point, thanks to wsl.conf, run/resolvconf should no longer exist and will never be created again. -
cd ~/../../etc
-
sudo rm resolv.conf
sudo rm resolv.conf -
Create a new resolv.conf, however you see fit.
sudo vim resolv.conf
,sudo touch resolv.conf
and edit it later, whatever. -
Add this line to resolv.conf:
nameserver 8.8.8.8
replace 8.8.8.8 with your preferred functional nameserver.
exit
or in Windows cmdwsl --terminate [YourDistroName]
wsl --shutdown
just to be sure that you’ve definitely killed everything.- Boot your distro.
- Confirm that your resolv.conf changes are still in effect, or just ping a domain name and cry tears of joy after struggling to get this working for far too fucking long.
参考文献:
https://github.com/microsoft/WSL/issues/6404
https://github.com/microsoft/WSL/issues/5256
更多推荐
所有评论(0)