授業でWSLをインストールして使っていく上で起こりがちな問題点と解決法を備忘的に書き連ねます
wslをインストールする際に入力するパスワードは sudo
するときには使えるが、su
するときには使えない。rootになるためには Powershell を開いて wsl -u root
するとノーパスワードでrootになれる。
しばしばsudoするためのパスワードを忘れる場合があり、上記の様にしてPowershell上でrootになって、passwd username
とすれば再設定することができる。(ubuntuを開き直せば設定したパスワードでsudo
できるはず)
また、ubuntuを開くとrootになっている、という状態になることがあり、解決法としては一般ユーザとしてのusernameをfooとすると、adduser foo
としてユーザーを作成し、同時に2回sudoのパスワードを聞かれるので設定する。ついで sudo gpasswd -a foo sudo
としてfooにsudo権限を与え、パワーシェルを開いて ubuntu config --default-user foo
としてデフォルトのユーザー名を指定すれば、次にubuntuを開く際にfooで入ることができる。
sudo apt update
としてアップデートが進まない場合(茶色い文字の%の数字が0から全く増えない場合)にはネームサーバーの設定が適切ではない場合が多い。/etc/resolv.confを編集してGoogleのネームサーバーを指定すると解決することが多いのでエディタで編集するか、sudo cp /etc/resolv.conf /etc/resolv.conf.org
として現状のファイルのバックアップを取ってから、sudo echo 'nameserver 8.8.8.8' > /etc/resolv.conf
とすれば、sudo apt update
ができるようになる。sudo echo 'nameserver 8.8.8.8' > /etc/resolv.conf
で、Permission deniedなど許可がないとのメッセージが出る場合は、sudo chmod o+w /etc/resolv.conf
としてから、もう一度試す。