「WSL環境を作って壊す、覚書」は2019年1月に投稿した記事だ。その2021年版とでも呼ぶべき記事を投稿した。
2019年版の内容を包含すると同時に、WSL2についての情報を整理し、まとめている。特にlxrunコマンドについての情報を求めるのでなければ、新しい投稿を参照してほしい。
impsbl.hatenablog.jp
Windows上でLinuxを稼働させる際、WindowsとLinuxの中継レイヤーとして実装されるのがWSL (Windows Subsystem for Linux)だ。Hyper-Vなどの仮想環境に比べて、WSL上で稼働するLinuxは起動が早く、消費リソースも少ない。特にノートPCのように何かとリソースが制限されている環境で動作させるのに都合が良い。
開発環境やサーバー用途としてデスクトップ上で常用するのも良いが、簡単に環境を構築でき、素早く起動し、削除してもWindows環境を汚さない特性は、繰り返し使い捨てる環境の構築には絶好の機能だ。
WSL関連の情報を検索すると、その前身であるBash on Ubuntu on Windows(以下、旧WSL)をもとにした情報が混在している。例えばlxrunコマンドだ。lxrunを実行して、トップに掲載している画面に遭遇したことはないだろうか。エラー・コードが何を指しているのか以前に、そもそも削除されるというフォルダは存在していない。lxrunコマンドは旧WSL向けのコマンドなのだ。
旧WSLではなく、現在のWSLのための情報を整理し、まとめたのが今回のエントリだ。
公式情報
まずは公式情報を確認したい。リファレンスとなる参照元は次のサイトだ。
lxrunコマンドの廃止についても触れられている。
docs.microsoft.com
docs.microsoft.com
各ディストリビューションのルート・フォルダ
WSLで導入するディストリビューションのルート・フォルダはレジストリを参照して確認することができる。各ディストリビューションは、次のレジストリ配下に、個別のGUIDとして定義される。
コンピューター\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
DistributionName | 対応するディストリビューション |
BasePath | ルート・フォルダのパス |
画像はUbuntuのものだ。基本的にユーザー・フォルダのAppData配下に格納される。フル・パスは次のようになる。AppDataがどのようなフォルダなのかは、次のエントリを参照してほしい。
C:\Users\[user name]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
lxrunの代わり
Windows 10 1803以降ではlxrunコマンドが廃止されているとはいえ、インストールはされている。そしてトップ画像が示すように、旧WSLのパスを前提として機能している。基本的に「使うな」ということなのだろう。特に「作って壊す」ために多用するだろうオプションの代替手段は、「アプリと機能」に用意されている「詳細オプション」を利用することになる。
詳細オプションの、特に次の2つがlxrunと関連している。
リセット | lxrun /uninstall | フル・パスのLocalState配下のフォルダが削除される。 具体的にはフォルダrootfsとtemp。 Ubuntuを再実行すると、両フォルダが新規作成される。 |
アンインストール | lxrun /uninstall /full | Ubuntuそのもののアンインストール。 フル・パスのCanonical...が削除される。 |
余談
おそらくWSLについて出版されている唯一の文献なのだが、次の2つの理由から購入はおすすめしない。- 旧WSLについての書籍であること。
- 内容のほとんどはWSLよりも、Linux入門的な内容であること。
ページのほとんどはLinuxコマンドの紹介から、パッケージ導入について紹介されている。
もしLinux入門的な文献を求めるならば、LinuCが無償配布しているLinux標準教科書を参照するのが良いだろう。
Linux標準教科書
Linuxサーバー構築標準教科書
高信頼システム構築標準教科書
Linuxセキュリティ標準教科書
Linuxシステム管理標準教科書