WSLのすすめ
皆さん、こんにちは。技術開発グループのn-ozawanです。
WBC盛り上がってますね。野球ニワカではありますが、日本代表を応援しています。
本題です。
WSLをご存知でしょうか?Windows Subsystem for Linuxの略で、その名前の通り、Windows上でLinuxのプログラムを実行する仕組みです。Windows10 version 1709からリリースされており、Windows端末の開発者はWSLを利用することが出来ます。
今日はそんなWSLを紹介したいと思います。
目次
WSLのインストール
WSLとは
繰り返しになりますが、WSLはWindows Subsystem for Linuxの略で、LinuxプログラムをWindows上で実行する仕組みです。MicrosoftがWindows10 version 1709から正式リリースしています。元々、Windows上でLinuxのプログラムを実行する方法として、Hyper-Xなどの仮想環境や、Cygwinなどの互換レイヤーを利用していました。それらに代わる手段としてWSLがあります。
お手軽にインストールが出来て、仮想環境よりも軽量に動作するので、重宝しています。
WSLのバージョン
WSLにはWSL1とWSL2の2つのバージョンがあります。WSL1がversion 1709でリリースされ、その後、WSL1とは異なる仕組みのWSL2がversion 2004でリリースされました。
WSL1はLinuxシステムコールをWindowsシステムコールへ変換するような互換レイヤーに近い動作となっています。その変換処理は完璧ではなく、一部のLinuxプログラムは動作しなかったようです。それに比べWSL2では、Hyper-Vを利用してLinuxカーネルを動かしているため、Linuxとの完全互換を実現しています。詳しくはこちらを参照してください。
インストール手順
コマンドプロンプトもしくはPowerShellを管理者モードで立ち上げ、以下のコマンドを入力することで、LinuxのUbuntuディストリビューションがインストールされます。
> wsl --install
Ubuntuの起動
以下のコマンドでインストールしたUbuntuディストリビューションを起動することが出来ます。
> wsl -d Ubuntu
WSL1からWSL2へのアップグレード
以下のコマンドで、インストール済みのLinuxディストリビューションと、WSLのバージョンが確認できます。このVERSIONが1であればWSL1が、2であればWSL2が動作していることになります。
> wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
docker-desktop Stopped 2
docker-desktop-data Stopped 2
上記の例ではUbuntuはWSL2となっていますが、もしWSL1の場合は特に理由がなければWSL2にアップグレードすることをお勧めします。WSL1からWSL2へアップグレードしたい場合は、以下のコマンドを実行してください。
> wsl --set-version Ubuntu 2
WSLコマンドのあれこれ
インストール可能なLinuxディストリビューション
インストール可能なLinuxディストリビューションはUbuntu以外にもあります。以下のコマンドで確認することが出来ます。
> wsl -l -o
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install <Distro>' を使用してインストールします。
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_8_5 Oracle Linux 8.5
OracleLinux_7_9 Oracle Linux 7.9
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
openSUSE-Leap-15.4 openSUSE Leap 15.4
openSUSE-Tumbleweed openSUSE Tumbleweed
Linuxディストリビューションを指定してインストールしたい場合は以下のコマンドになります。(以下のコマンドはDebianをインストールする例です)
> wsl --install -d Debian
デフォルトで起動するLinuxディストリビューションの設定
既定のLinuxディストリビューションを設定するには以下のコマンドを使用します。
> wsl --setdefault Ubuntu
この操作を正しく終了しました。
> wsl
// Ubuntuが起動する
おわりに
WSLのインストールとその使い方を紹介しました。
WSLを利用するとHyper-Vよりも軽量に、かつ、Linuxのバイナリがそのまま使えるため、Cygwin環境用に再コンパイルする手間もありません。また、WindowsのコマンドプロンプトからUbuntuのコマンドを呼び出すなど、WindowsとUbuntuとの連携も出来ます。WSLのWikipedia(2023/03/14時点)に一例が載っているので参考にしてみてください。
ぜひ手軽にLinuxコマンドを利用したいときに利用してみてください。
ではまた。