Windows 10 バージョン1607(Anniversary Update)からサポートしたWSL(Windows Subsystem for Linux)。その結果としてWindows 10上でもUbuntuなどのLinuxディストリビューションが動作し、各種コマンドが利用可能になった。本連載ではWSLに関する情報を紹介する。
UbuntuやSUSE Linux Enterprise Serverがパッケージ化
Microsoftは2017年9月リリース見込みのWindows 10 バージョン1709(Fall Creators Update)で、Ubuntu以外のLinuxディストリビューションをサポートすると発表した。既存のUbuntuに加えて、SUSE Linux Enterprise Server/openSUSE/Fedoraの名前を挙げていたが、同社は7月10日(現地時間)にUbuntuがWindowsストアに並んだことを公式ブログで発表した。Windows 10 Insider Preview ビルド16215以降で利用できるという。
基本的には従来のBUW(Bash on Ubuntu on Windows)もWindowsストア経由でイメージをダウンロードしていたが、他のUWP(ユニバーサルWindowsプラットフォーム)アプリケーションと同じパッケージ化することで、ダウンロードサイズを最小限に抑えるブロックベースのダウンロードロジックが利用可能になる。
上図のとおり基本的な操作は従来と変わらず、ユーザー名やパスワードの設定を行う。ただし、言語周りのシェルスクリプトは用意されておらず、環境変数LANGは「en_US.UTF-8」のため、ご自身で設定を変更しなければならない。
興味深いのはAppxパッケージになったことで、Windows 10上の実行環境が変更した点だ。以前のBUWは「%LOCALAPPDATA%\lxss」をメインフォルダーとして使っていたが、Windowsストア経由のUbuntuは、「%ProgramFiles%\WindowsApps」フォルダーを利用する。具体的には「C:\Program Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_16.0.4.0_x64__79rhkp1fndgsc\ubuntu.exe」を起動する仕組みのようだ。
その結果、WSLは複数のLinuxディストリビューションのインストールや実行を可能にしている。執筆時点でWindowsストアに並ぶLinuxディストリビューションは、Ubuntu、SUSE Linux Enterprise Server 12、openSUSE Leap 42の3つだが、インストール可能だったのは前者2つ。openSUSEは準備中のようであり、Fedoraは見つからないものの、Microsoftは1~2週間で入手可能になるという。
このようにBUWとWindowsストア経由で入手するLinuxディストリビューションは似て非なるものである。つまり、BUWとWindowsストアのUbuntuは別物のため、既存環境を新しいUbuntuに移行させる場合、必要なファイルをコピーしてから、Windows 10上のコマンドプロンプトやWindows PowerShellで「lxrun /uninstall」を実行してアンインストールすることをお薦めする。なお、LinuxディストリビューションがAppxパッケージに変わったことで、lxrunコマンドは今後廃止されるはずだ。
阿久津良和(Cactus)