WSL2で同一環境を複数インストール
こんにちは!鷲崎(@kwashizzz)です。
最近、Windowsに乗り換えましたが、WSL環境を使い回せれば便利だと思い、Ubuntu22.04を別の環境としてインストールしてみました。そこで、詰まった部分があったので、記載しておきます。
基本的には、管理者権限で、WSL 上で同一ディストリビューションの環境を複数インストール・管理するを実行すればうまくいきます。
しかし、Ubuntu22.04をインストールした際に、ユーザを作成しましたが、rootユーザで入ってしまい、update
などがうまく動作しませんでした。
そこで、wsl --distribution 作成したディストリビューション名 --user <ユーザ名>
で環境に入ると、うまく動作しました。
また、環境が壊れた際に、wsl --unregister <削除するディストリビューション>
としたところ、wslが動作しなくなしました。
その際には、起動しなくなったWSL2を復活させるまでにしたあれこれの、WSL2無効化→有効化
を試すと動作するようになりました。この辺も管理者権限で行っていなかったから動作しなくなった気がします...
wslのデフォルトユーザ
WSLを起動した際に、毎回rootからユーザを変更するのが、面倒なので、デフォルトユーザを変更する。
rootユーザで、
vi /etc/wsl.conf
とし、以下を記載しwslの再起動を行う。
[user]
default=<user_name>
Dockerを使用する
Windows で WSL2 (Ubuntu) + docker compose 環境構築
を参考にDocker, Docker-composeをインストール
以下を実行
sudo PWD=${PWD} docker-compose up -d
GPUを使用する場合
WSL での ML の GPU アクセラレーションの概要 でGPU周りを設定後
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo service docker restart
を実行する
gitを使用する
windowsにgitをインストールし、そのgitに対して、wslから、パスを通します。(wsl2にgitをインストールして使用すると遅いらしい)
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe"
Discussion