LoginSignup
3
2

More than 1 year has passed since last update.

WSL2の環境をきれいに使う方法

Posted at

困ってた事

WSLを開発環境として使ってます。開発環境が散らからないように

  • WSLの環境には開発環境を入れず、docker環境で開発する

  • asdfを使って切り替えながら開発する
    等、気を付けてるんですが

  • GPUのドライバーをいれた

  • GUI関係のパッケージを入れてた

  • 動かないからいろんなパッケージをとりあえずいれてみた

等の戻れない成長を繰り返していました。WSLのディスク領域も肥大化してます。

複数のWSL環境を持てる

朗報を発見。

WSL2に複数のdestro(Ubuntu等)を構築できるってこと。
これです。求めていたのは。

用途専用のWSL環境や、使い捨てのWSL2環境を用意すれば、WSL2の環境をクリーンに保てて助かるぅ。

検証時には検証用のWSLを使って検証したり、専用のWSLを用意するというだけの話ですが、
ポイントは、Ubunuのインストール直後のイメージを保存しておくこと。これがあると、初期状態のUbuntuを後から作れて便利です。
以下は、私の場合の作業記録です。
参考になることがあったら参照ください。

作業記録

Ubuntuをインストール(2022/10月現在、Ubuntu 22.04.1 LTSがインストールされる)
updateを実行しておく

sudo apt update
sudo apt upgrade

デフォルトのユーザを指定しておく
user-nameの部分を、自分のユーザ名(ubuntuをインストール時に指定したユーザ)に変更して実行

$ cat << EOF > /etc/wsl.conf
[user]
default=user-name

Ubuntuをexportして削除する

>wsl --shutdown Ubuntu
>wsl --export Ubuntu d:\Ubuntu-22.04.tar
>wsl --unregister Ubuntu

デフォルトではc:\にイメージが保存されている。d:\に保存したかったので、一端unrigisterで削除して以下でd:\にインストールしています。

Ubuntu-20.04をMicrosoft storeからinstall。updateや、wsl.confを同様に作成する。

Ubuntu-20.04.tarとしてexportして、unrigisterで削除

>wsl --shutdown Ubuntu-20.04
>wsl --export Ubuntu-20.04 d:\Ubuntu-20.04.tar
>wsl --unregister Ubuntu-20.04

デフォルトで使用するUbuntuを作成

> mkdir d:\wsl
> wsl --import Ubuntu-default d:\wsl\Ubuntu-default D:\ubuntu-22.04.tar
> wsl --set-default Ubuntu-default

使い捨て用Ubuntu22.04のWSL2を作成

> wsl --import Dev-22.04 d:\wsl\Dev-22.04 D:\ubuntu-22.04.tar

使い捨て用Ubuntu20.04のWSL2を作成

> wsl --import Dev-20.04 d:\wsl\Dev-20.04 D:\ubuntu-20.04.tar

旧ubuntu環境をリストア

>wsl --import Ubuntu-20.04 d:\wsl\Ubuntu-20.04 D:\ubuntu2004.tar

課題

調査中の課題です(ご存じの方コメント歓迎です)

ディストリビューション間の通信

ディストリビューション間でscpしたいとか、NFSサーバでホームディレクトリを共有したい。

方法調査中(ご存じの方コメント歓迎です)

dockerがdefaultのWSLからしか使えない

Docker Desktop環境は、set-defaultで指定したWSLで動作していて、
defaultのWSLからは、dockerコマンドが使えますが、そのほかのWSLからは、次のエラーがでて使用できません。

image.png

この問題も、ディストリビューション間の通信ができればこれも解決すると思うんですが・・・。
この問題が解決するまでは、dockerを使用するのはデフォルトのディストリビューションからだけにするしかない。

参考
https://devlights.hatenablog.com/entry/2021/05/29/070000
https://qiita.com/sakai00kou/items/63eb506eb87282268b44

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2