WSL(Windows Subsystem for Linux)については、数年前の記事でもあるので今更感はあるのですが、個人的にWindows上にLinux環境を構築するのは、VirtualBox + Vagrant で事足りていたため、WSLを使ってみる機会は一切ありませんでした。
少し前から、Docker Desktop for Windows の有償化に対して、どのように対応しているのだろうと調べていると、たまたまWSLというキーワードに辿り着きました。
しかしながら、初めて使ってみると思っていたよりも簡単に環境が出来たので、メモとして残しておきます。
WSL
Windows Subsystem for Linux の略。
Virtualbox や Docker などの仮想化とは違い、Windows上でネイティブにLinuxを使えるようにする機能。
※実行可能なLinuxのディストリビューションは限られたもの
環境
インストール
Microsoft の WSL ページで解説されていますが、そのインストール方法も進化しているようです。
https://docs.microsoft.com/ja-jp/windows/wsl/install
以前の記事など見ていると、以下のようなコマンドの実行が必要でしたが
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
現在は非常にシンプルなコマンドでインストールが出来るようになっています。
wsl --install -d {ディストリビューション}
どのディストリビューションが使えるかは、以下で確認ができます。
wsl --list --online
ダウンロードが完了すると、以下のような画面が表示されます。
これは既に Ubuntu-20.04 の画面になります。
少し待つと、ユーザ名とパスワードを聞かれるので入力します。
※これはWindowsで使っているものと合わせる必要はないと書いてあります
少し待つと、操作可能になります。ここまで5分もかかりませんでした。
以下のように、Ubuntu-20.04 が操作できるようになっています。
WSL のバージョンを変更する
Powershell 側で確認してみると、バージョン1でした。
せっかくなので、バージョン2に上げてみます。
wsl --set-version {ディストリビューション} 2
エラーになってしまいました。カーネルコンポーネントの更新が必要とのこと。
エラーメッセージ内で提示されたURLからダウンロード、インストールします。
インストール完了後、改めてバージョン2に上げることが出来ました。
Hyper-V について
ネット上の一部情報では、インストール時に Hyper-V を有効にする手順が書かれていたりしたので、有効にしていましたが、
1.Hyper-V はハードウェアの仮想化を提供する機能である
2.WSL は仮想化とは違う機能
という観点から、Hyper-V は不要と判断し、無効化しました。今のところ問題なく動作しています。
感想など
- WSL まったく使ったことがありませんでしたが、初めてでも非常に簡単にLinuxディストリビューションを起動することが出来ました(慣れてなくても 5分ほど)
- 仮想環境上で動作させているわけではないので、軽快に動作しそう。
- Virtual box や Vagrant を使うのには抵抗があっても、この方法であれば、より気軽にLinux環境を試すことが出来そう。
- ただ、GUI で動かしたいとなったときは、ひと工夫が必要そう。
- VSCodeのプラグインを使えば、開発環境として使えそう。
- Docker Desktop for Windows の有償化をきっかけに、WSL で Linux 環境を構築して、Docker を使ってみるというケースも見受けられる(自分が興味を持ったきっかけもコレ)