☠️
WSLの起動時にresolv.confを再生成されないようにする
WSLを起動するたびにresolv.confが再生成されてapt install
ができ~んというメモです。
問題
起動するたびにこんな状態
ekuinox@Tsutsuji:~$ cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.31.64.1
ekuinox@Tsutsuji:~$ sudo apt install -y jq
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package jq
私の環境
- Windows 10 20H2 (19042.508)
- WSL2 Debian
解決
やることは、/etc/resolv.conf
にあるように、 /etc/wsl.conf
を弄れば良くて、
/etc/wsl.conf
[network]
generateResolvConf = false
となるように追記します。
このままWSLを開きなおしてもダメなので、Windowsを再起動します。
(/etc/wsl.conf
が読み直されれば良いので再起動じゃない手もある??)
再起動後、 /etc/resolv.conf
を適当に編集します。
/etc/resolv.conf
nameserver 8.8.8.8
以上で完了です。
ハマる
記事書くために自分のノートPCで試した際にはハマらなかったのですが、 /etc/wsl.conf
を書き換えて再起動した際に /etc/resolv.conf
に書き込めないことがありました。
ekuinox@Hizake:~$ ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Sep 11 2018 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
元々 /run/resolvconf/resolv.conf
にリンクが貼られているみたいで、それの残り滓があって書き込めないということがありました。rm
してから書き込めば解決します。
Discussion