Windows Subsystem for Linux 概要
先日から自由研究テーマで何度かこのブログでも取り上げさせていただいた Bash on Ubuntu on Windows は Windows Subsystem for Linux (以下WSLと記載します。)の一機能として提供されている distro agnostic (うまい訳語がないのですが、システムに対してリスクや競合がない状態でインストール可能という感じの意味です)なLinux 互換のサブシステムです。
WSLの仕組み
WSL は Windows カーネルの新機能で、Anniversary Update でもプレビュー扱いの機能です。インパクトの強さからか、Bash on Ubuntu on Windows ばかりがフォーカスされがちですが、WSL のインターフェイスとして Bash on Ubuntu on Windows が利用できるというイメージのほうが適切です。
WSL の仕組みは下図のように Linux 互換のシステムコールがユーザーモードで動作している Ubuntu 上の Bash や GC++、Ruby などのエンドポイントからアクセスできるというものです。fork() をはじめとする多数のLinux のシステムコールをサポートしています。(ここでいうサポートは機能としてついているというもので、製品機能としてはプレビューです。ややこしくてすみません。)
できることとできないこと
まず、最初にご理解いただきたいのは、この機能はあくまでベータの機能なので、商用環境での使用はご遠慮ください。できることは多数ありますが、実際に動かしてみたものとしては Bash apt-get git Ruby node GNU C/C++, CoreCLR などです。apt-get もあまりにも大きなバイナリだと失敗することもあります。すべてのシナリオに対してテストを行うのは困難なので、一般的な機能に限られています。
お願い事項
機能追加やバグ、要望があれば、下記リンクから開発チームへフィードバックもしくはすでにある意見に対してVote してください。
UserVoice (機能追加、改善要望) https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo
GitHub (課題) https://aka.ms/winbashgithub
参考リンク
Windows Subsystem for Linux Overview
https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/
Console & Command-line
https://blogs.msdn.Microsoft.com/commandline
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。