====== WSL2 ====== --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-12-05// WSL(Windows Subsystem for Linux)には2つのバージョンがあります。 最初のWSLは、LinuxバイナリをWindows上でネイティブに実行するための[[https://ja.wikipedia.org/wiki/%E4%BA%92%E6%8F%9B%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC|互換レイヤー]]です。これは、一般的に使われている「仮想マシン環境」でも「コンテナ」でもなく「Subsystem」と呼ばれているWindowsで他OSのバイナリを動かすために導入された仕組みです。 一方、2019年6月にWSL(以降WSL1と呼びます)と異なった仕組みを持つ WSL2 が発表されました。WSL2 には次の特徴があります。 * 本物のLinuxカーネルを仮想マシン([[https://ja.wikipedia.org/wiki/Hyper-V|Hyper-V]])上で動作させる * Linux側のファイルシステム([[https://ja.wikipedia.org/wiki/Ext4|ext4]])なのでWinodws側からは直接アクセスできない * ホスト(Windows)とは別のIPアドレスを使用する * WSLでは利用できなかった [[https://ja.wikipedia.org/wiki/Docker|Docker]] が利用できる Windowsで使える仮想マシンは、[[https://www.vmware.com/jp.html|VMWare]] や [[https://www.virtualbox.org/|VirtualBox]] などが以前からありました。また、Microsoft では [[https://ja.wikipedia.org/wiki/Hyper-V|Hyper-V]] を Windows Server 2008 の機能の一部として出荷を開始し、近年では、通常の開発マシンとして使用される Winodws10 Pro, Enterprise, Education (Homeエディションを除く) でも使用できるようになりました。そして、Windowsの「May 2020 Update」からは Winodws10 Homeでも、WSL2 を導入することでHyper-Vを使ったLinuxを仮想マシンとして利用できるようになっています。 このように WSL2 の登場により全てのWinodwsエディションでWindowsからLinuxが使える環境が整い、様々な開発環境が整備され、WindowsとLinuxの距離は「ぐっと」近づいた感じがあります。WSL2 を取り巻く他の開発環境としては、以下もがあります: * [[https://docs.microsoft.com/ja-jp/windows/terminal/|Windows Terminal]] --- 3つのシェル(コマンドプロンプト,PowerShell,Bash)の統合環境 * [[https://azure.microsoft.com/ja-jp/products/visual-studio-code/|Visual Studio Code]] --- Remote Development * [[https://docs.docker.com/docker-for-windows/wsl/|Docker Desktop (WSL 2 Backend)]] --- Dockerデスクトップ 本編では、WSL2の導入と利用について検証してみたいと思います。 ---- ===== 目次 ===== 基礎編 * [[wsl2:install|WSL2 インストール]] * [[wsl2:command|WSL2 コマンドリファレンス]] * [[wsl2:interop|WSL2 LinuxとのWindowsの相互運用性]] * [[wsl2:clone|WSL2 ディストリビューションの複製]] * [[wsl2:terminal|Windows ターミナル]] 応用編 * [[wsl2:ubuntu|WSL2 Ubuntu の手動インストール]] * [[wsl2:centos7|WSL2 CentOS7のインストール]] サーバ構築編 * [[wsl2:ubuntu:memcached|WSL2/Ubuntu に memcached サービスをインストールする]] * [[wsl2:ubuntu:docker|WSL2/Ubuntu に Docker をインストールする]] \\