WSL 2(Windows Subsystem for Linux)の環境を構築する

普段のお仕事に役立つ普遍的なプログラミングTIPSや、業界で注目度が高い最新情報をお届けする「編集部ピックアップ」。
今回はWindowsで手軽にLinuxの環境が使える、WSL(Windows Subsystem for Linux)の導入方法をご紹介します。

WSLとは

WSL(Windows Subsystem for Linux)はWindows上でLinux環境を動作させるための仕組みで、従来のような仮想マシンよりも起動が早く、少ないリソースでLinux環境を使用できます。

WSLはWindows 10のバージョン2004(OSビルド:19041)より、「WSL 2」が利用可能になっており、こちらは完全なLinuxカーネルを使用するため、「WSL 1」と比較してフル互換のLinux環境が実現できます。また、Dockerのようなコンテナの利用にも対応しています。

WSLのインストール

WSLの環境構築は非常に簡単です。Windows 10のバージョン2004以降であれば、コマンドプロンプトやPower Shellから以下のコマンドを実行するだけで、必要な機能の有効化や、Linuxディストリビューションなどのインストールが完了します。
既定では「Ubuntu」がインストールされます。他のディストリビューションを指定する方法はこちらをご覧ください。

wsl --install

コマンドを実行すると、WSLの実行に必要な機能やLinuxディストリビューションがインストールされます。再起動を促されるので再起動します。

WSLのインストール

再起動すると、自動的にUbuntuのセットアップが開始されます。

Ubuntuのセットアップ

ユーザー名とパスワードを設定するとインストールは完了です。

Ubuntuのセットアップ完了

インストールされたWSLのバージョンは、PowerShell等から以下のコマンドで確認できます。

wsl -l -v
WSLのバージョン確認

パッケージの更新

インストールが完了したら、以下のコマンドを実行してパッケージのリストを更新します。

sudo apt update
パッケージリストの更新

リストが更新されたら、続けて以下のコマンドを実行してパッケージの更新を実行します。

sudo apt upgrade
パッケージの更新

Ubuntuの日本語化

Ubuntuの環境を日本語化するには、以下のコマンドを実行して日本語の言語パックをインストールします。

sudo apt -y install language-pack-ja

さらに以下のコマンドを実行して日本語のロケールに変更します。

sudo update-locale LANG=ja_JP.UTF8

Ubuntuを再起動し、以下のコマンドを実行すると、日本語のロケールに変更されていることが確認できます。

locale
ロケールの確認

.NET SDKのインストール

ASP.NET Coreなどクロスプラットフォームで動作するアプリケーションの実行環境として使用できるように、.NET 6のSDK(またはランタイム)をインストールします。

まずは以下のコマンドを実行して、信頼されたキーの一覧にMicrosoftパッケージ署名キーを追加し、パッケージリポジトリを追加します。

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

次に以下のコマンドを順に実行して、.NET 6のSDKをインストールします。

sudo apt-get update
sudo apt-get install -y apt-transport-https
sudo apt-get update
sudo apt-get install -y dotnet-sdk-6.0

インストールが完了しましたら、以下のコマンドでインストールされたSDK、及びランタイムのバージョンが確認できます。

dotnet --list-sdks
dotnet --list-runtimes
.NET SDKのインストール確認

Linuxディストリビューションを追加でインストール

既定ではUbuntuがインストールされますが、別のLinuxディストリビューションを追加でインストールすることもできます。一例として「Debian」を追加でインストールする場合は、コマンドプロンプトやPower Shellから以下のコマンドを実行します。

wsl --install -d Debian
Debianのインストール

以降はUbuntuと同様にユーザー名やパスワードの設定、パッケージの更新などを行います。

Debianのセットアップ

WSLのファイルシステムへのアクセス

WSLが起動している状態で、エクスプローラーから「\\WSL$」を開くと、WSLのファイルシステムにアクセスできます。ここから各種ファイルのコピー等の操作が実行できます。

WSLのファイルシステムへのアクセス

Windows Terminalのインストール

Windows Terminal」を使用すると、PowerShellやWSLのコンソールなどを1つのウィンドウの中で同時に実行できるので便利です。Microsoft Storeからインストールできます。

ウインドウ上部のタブの横のドロップダウンから開くターミナルの種類を選択できます。通常は新しいタブで開きますが、「Alt」キーを押しながらクリックするとウィンドウを分割して表示、「Shift」キーを押しながらクリックすると新しいウィンドウで表示、のようにいろいろな使い方ができます。以下はウィンドウ分割した場合の動作です。

さいごに

以上がWSLの導入方法でした。WSLを使用すると、ASP.NET Coreなどのクロスプラットフォームアプリのデバッグも手軽に実施できるようになりますし、Dockerコンテナの実行も可能なので、是非お試しください。