【WSL】複数環境管理が超簡単に!追加された”--name”&”--location”オプション

Windowsを使用するときにはほぼWSLを使用しているのですが、去年の11月のリリースで--installオプションに‐‐name--locationの2つのオプションが追加されているのを某所で教えてもらいました。

【参考】

devblogs.microsoft.com

Maxありがとう!

以前はバックアップを取っていたイメージを‐‐import‐‐exportを駆使して同一のディストリビューションを作成したりしていたのですが、これらオプションを使うことで1つのディストリビューションに対して管理名を複数もたせることがかなり容易になりました。

【参考】

uepon.hatenadiary.com

uepon.hatenadiary.com

uepon.hatenadiary.com

また、WSLのデフォルトのイメージ保存場所は正直記憶できないようなパスになっているのですが、それもインストール時に解決できるようになったわけです。

これで、WSLのイメージを使用したハンズオンなどを行うのが非常に簡単になりました🥰

2024年11月にリリースされた新機能

  • カスタム名前設定 … ディストリビューションに任意の名前を付けられる(--name
  • インストール場所指定 … システムドライブ以外の場所にもインストール可能(--location
  • 複数環境管理 … 同じディストリビューションタイプでも用途別に複数インストール可能

動作環境

今回はWindows11で動作する以下のWSLバージョンでテストしています。

使用例

# カスタム名前でインストール
$ wsl --install -d Ubuntu --name ProjectX

# 名前と場所を両方指定する場合
$ wsl --install -d Ubuntu --name ProjectX --location D:\WSL\ProjectX

# 開発用とテスト用で分離
$ wsl --install -d Ubuntu --name DevUbuntu --location D:\WSL\Development
$ wsl --install -d Ubuntu --name TestUbuntu --location E:\WSL\Testing

注意点

メリット

以下のような長所がプラスされます。

  • ストレージ容量の分散管理
  • プロジェクト別の環境分離
  • より直感的な名前付けによる管理性向上

これまで複雑だったWSLディストリビューションの管理が大幅に簡素化され、開発の生産性が向上します。

新機能(--install+--name&--location) vs 従来機能(‐‐import&--export)の比較

新機能 --install+--name&--location

用途 … 新しいディストリビューションの初回インストール時

【実行例】

$ wsl --install -d Ubuntu --name DevEnv --location D:\WSL\Dev

【特徴】

  • クリーンなディストリビューションの使用
  • インストール時に名前場所を指定
  • 初期状態から開始(特別な設定はされていない)

従来機能 --import & --export

用途 … 既存環境のバックアップ・復元・複製

【実行例】

# 既存環境をエクスポート
$ wsl --export Ubuntu D:\backup\ubuntu-backup.tar

# 新しい名前・場所でインポート
$ wsl --import UbuntuDev D:\WSL\Dev D:\backup\ubuntu-backup.tar

【特徴】

  • 設定済み環境をそのまま複製
  • カスタマイズ・インストール済みパッケージも含む
  • tarファイル経由での移行
  • 既存環境の複製や移行に最適
  • 移行後はユーザ設定を行う必要がある(行わない場合にはrootユーザがデフォルトユーザとなる)

使い分けのポイント

用途 推奨方法
新しい開発環境が欲しい 新機能
既存環境を別PCに移行 従来機能
設定済み環境を複製 従来機能
環境のバックアップ 従来機能
同じディストリビューションのバージョンを並行利用 新機能

実用例

# 新しいプロジェクト用環境
$ wsl --install -d Ubuntu --name ProjectA --location D:\WSL\ProjectA

# 設定済み環境の複製
$ wsl --export MyUbuntu D:\backup\configured-ubuntu.tar
$ wsl --import ProjectB-Ubuntu E:\WSL\ProjectB D:\backup\configured-ubuntu.tar

おわりに

これまでの苦労はもうないのですね…🙄みんなもっとWSL環境でいろいろな実験を行っていきましょう!🤩