Windows 10 Fall Creators UpdateのWSLの新機能

情報源: What’s new in WSL in Windows 10 Fall Creators Update – Windows Command Line Tools For Developers

Windows 10 Fall Creators Update(RS3)の一般提供が来週の17日に迫ってきたことも有り、RS3でのWSLの変更についてまとめられています。

以下は私のメモ程度の簡訳なので、正確な記載については上の情報源を参照ください。

WSLはもはやベータ版ではありません!

Fall Creators Update(2017年10月17日出荷)では、WSLは完全にサポートされたOS機能になります。

つまり、WSLに関する予期しない問題や問題が発生した場合は、マイクロソフトサポートに連絡して、通常のチャネルで管理されるサポートチケットを提出することができます。

また、エンジニアリングチームとコミュニティは、WSL Github Issues RepoとWindows 10のFeedback Hubを介して引き続きサポートを提供します。これらのチャネルを介してコミュニティが提供するすべてのサポートに感謝します。

Windowsストア経由でLinuxディストリビューションをインストールする

RS2まではUbuntuがWSLで使用できる唯一のディストリビューションでしたが、RS3よりはWindowsストアより複数のディストリビューションがインストール可能となります。現在はUbuntu, openSUSE, SUSE Linux Enterprise Server(SLES)が用意されており、Fedoraやその他ディストリビューションについては今後数ヶ月で登場する予定です。

RS3以降のインストール手順は、以下のようにコンロールパネルのプログラムと機能よりWindowsの機能の有効かまたは無効化を選択し、以下の図のようにチェックを付けてWSLの基本機能をインストールし、再起動します。再起動しないとWSLのコンポーネントが動作しません。

再起動後、ストアで「Linux」検索し、Linuxバナーのボタンをクリックします。

次に、インストールしたいディストリビューションを選択します。

製品ページのインストールボタンをクリックします。

WSLは複数のディストリビューションを同時に実行可能となりました

Fall Creators UpdateのWSLの最大の改善点は、Windows Storeから1つ以上のLinuxディストリビューションをインストールするだけでなく、それらを同時に実行できることです。

これで、Ubuntu、openSUSE、SUSE Linux Enterprise Serverを並行してインストールして実行できます。お気に入りのWindowsツールやCmdやPowerShellなどのシェルも一緒にインストールできます。

各ディストリビューションは互いに独立して動作しますが、Windowsのホストファイルシステム、ネットワーキングスタックなどにもアクセスできます。

異なるディストリビューションが動作することで、Ubuntu上のApacheでホストされたWEBアプリケーションをWindowsのEdgeやChromeで表示テストし、同時にSUSE上で動作しているRESTクライアントのテストが可能です。ローカルでテストするときには、これらすべてのプロセスは、ファイアウォールの上に並んで実行されます。

また、注意点としては、RS2までのUbuntuのイメージは正常に動作し続けますが、廃止予定と見なされ正式にサポートされません。ファイルをいままでのインスタンスから、ストアよりインストールされたインスタンスに移し、既存のインスタンスは廃棄することが推奨されます。

WSLはWindows ServerとそのMicrosoft Azure VMにも付属するようになります

WSL arrives on Windows Server!を参照。

WSLはUSBシリアルポート、USBストレージ・ネットワーク共有のマウントをサポートします

WSLではUSBシリアルポートをサポートし、USBストレージやネットワーク共有のマウントをサポートします。以下の記事を参照してください。

Bash/WSL Insiders build now supports usb/serial comms and mounting removable storage & network shares

マウントできるUSBストレージはWindowsのファイルシステム経由となるため、現在はFAT/FAT32/NTFS形式のストレージデバイスのマウントのみがサポートされていることに注意してください。

その他の修正と改善

詳細は16170から16288までのビルドのWSLリリースノートを確認ください。

改善点の一部は以下になります。

  • 改良されたTCPソケットオプションinc。IP_OPTIONS、IP_ADD_MEMBERSHIP、IP_MULTICASTなど
  • /etc/hostsはWindowsホストファイルからエントリを継承するようになりました
  • xattr関連のシステムコールサポート
  • いくつかのファイルシステムの機能と機能を修正
  • 改善されたPTRACEサポート
  • 改善されたFUTEXサポート

RS3より以下のシステムコールが初めてサポートされます。

  • Prlimit64
  • getxattr、setxattr、listxattr、removexattr

“Bash on Windows”と言う呼び方を非推奨とします

もともと、「Linux用Windowsサブシステム」という名前は、一般に、Linuxバイナリを実行するWindowsカーネルインフラストラクチャを指していました。これが意味することとエンドユーザーエクスペリエンスを伝えたいので、エンドユーザーの機能を「WindowsのUbuntuのBash」、または単に「WindowsのBash」と呼んでいます。

この名前付けスキームは、少なくともWSLが提供するものの本質を伝えるのに役立ちましたが、「Bash on Windows」はWSLのしくみを実際には説明していません。

だから、今後は機能名「Bash on Ubuntu on Windows」を使用しなくなります!

代わりに、「Windows Subsystem for Linux」(WSL)を使用して、Windows上でLinuxバイナリを実行できるようにするカーネルとWindowsツールを含むMicrosoftのテクノロジスタックを参照します。ディストリビューションは、Ubuntu、openSUSE、SUSE Linux Enterprise Serverなどの名前で知られています。

だから将来、会話は 「LinuxはWindows / WSL上でうまく動作する」、あるいは 「私はWSL上でUbuntuを実行する」、または 「WSL上でopenSUSEを試してみた」のようなものになります。

次は?

WSLエンジニアリングチームには長い改善と新規機能のリストが有り、これに取り組んでいます。今後Insider PreviewのFirst Ring向けには開発の都度新機能や改善を提供していきます。