WSLのすすめ

n-ozawan

皆さん、こんにちは。技術開発グループの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コマンドを利用したいときに利用してみてください。

ではまた。

Recommendおすすめブログ