WSL的hosts文件被重置
前言
使用WSL安装软件时,需要从 raw.githubusercontent.com
拉取数据,抛异常 403。经查阅是DNS污染导致,推荐的解决方案是修改hosts文件,添加域名与ip的映射。
然而,再第二天打开电脑再次登入wsl发现,继续403异常!查看hosts文件:内容被重置!
原因
注释已经解释,host文件会被WSL自动生成,导致对hosts的历史修改被覆盖!
想要关闭自动生成功能,则需要在 /etc/wsl.conf
中设置:
1 | generateHosts = false |
抱着以防万一的心态,查阅 wsl.conf
详情:https://learn.microsoft.com/en-us/windows/wsl/wsl-config#network-settings
解决方案
- 关闭 generateHosts;
- 在win系统下的hosts做修改;
关闭 generateHosts
默认情况下,wsl是没有 /etc/wsl.conf
,所以新建就好!
完整的 示例配置 可以从这个链接中获取:https://learn.microsoft.com/en-us/windows/wsl/wsl-config#example-wslconf-file
setp1: 新建 sudo vim /etc/wsl.conf
;
setp2:添加配置,generateHosts = false
在win系统下的hosts做修改
在研究的过程中,发现wsl是基于win下的host文件生成的!
基于这些host映射在win和wsl都会用到,所以直接在win的host文件做修改!