Windows 10 の Ubuntu Linux 環境機能
Windows 10 Anniversary Update (RS1)「Red Stone 1」のリリースが目前になって来た。ここでは以前から気になっていた、Windows 10 の Ubuntu Linux 環境機能をInsider Preview版で実際に使ってみたので簡単に解説する。
Ubuntu Linux 環境機能と書いたのは、実際に使ってみた結果Windowsカーネルを含めてUbuntu 14.04.4 LTSがほぼそのままWindows 10に入ることを確認したからだ。先の Build 2016 やその後のアナウンスでは「Bash」などと紹介されているが、実体はそんな単純なものではない。Windows 10でひとたびBashを起動したならば、UbuntuのユーザーランドがGUIと/dev/以下以外はほぼ全て追加される。そしてシームレスに既存のWindows環境と同居する。VMやコンテナの様な隔離はない。
参考情報
日本語解説
Linux互換機能について日本語のわかり易い解説が次の@ITの記事にある。
■Windows 10でUbuntuのシェル「Bash」が動き始める! だが日本語はどうなる?
http://www.atmarkit.co.jp/ait/articles/1604/11/news031.html
ここでInsider Previewというのは、8月2日リリース予定のWindows 10 Anniversary Update (RS1)「Red Stone 1」のPreview(事前評価)版のことだ。RS1には同機能が搭載されます。すでに誰でも入手可能なのである。
そのほかAnniversary Update(以後RS1)全般については次の日経ITproのページが詳しい。
■Windows 10 Anniversary Update「Red Stone 1」は何が変わるのか
http://itpro.nikkeibp.co.jp/atcl/column/14/090100053/042200142/
Microsoft社の情報
Microsoftでは近年新機能や新OSに関するロードマップは一般公開してないが、代わりに毎年春に「Build」というイベントで方針や新機能の詳細について公開している。Linux互換機能は初日に、下記Keynoteで公開されている。ビデオの38:27から5分程度デモをしている。
①Build 2016
■Build 2016
https://build.microsoft.com/
■Keynote Presentation
[38:27] Bash is coming to Windows
https://channel9.msdn.com/Events/Build/2016/KEY01
Build 2016ではほかにも次の詳細セッションが行われている。
■Linux Command Line on Windows
https://channel9.msdn.com/events/Build/2016/C906
■Running Bash on Ubuntu on Windows!
https://channel9.msdn.com/Events/Build/2016/P488
②公式トップページ
調べたところ、MicrosoftのRS1搭載のLinux互換機能に関する解説は現在、次のページがトップページになっている。
後述の実験の際も、詳細はこのページを参照するようにとのメッセージが出力された。
■MSDN:Bash on Ubuntu on Windows
https://aka.ms/wsldocs
https://msdn.microsoft.com/en-us/commandline/wsl/about
③その他のMicrosoftの情報
■Windows Subsystem for Linux Overview
https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-li...
■Windows Subsystem for Linux: Architectural Overview
https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-...
■Windows Subsystem for Linux - Syscall Translation
https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-...
■Windows Subsystem for Linux: Process Architecture
https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-...
■Windows Subsystem for Linux: File System
https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-...
④開発に協力しているUbuntuの情報
■Ubuntu on Windows ? The Ubuntu Userspace for Windows Developers
https://insights.ubuntu.com/2016/03/30/ubuntu-on-windows-the-ubuntu-user...
実験
上記に解説されている通り、RS1のLinux互換機能は単にBashが動作するだけではなく、Windows上でUbuntu Linux互換機能を直接動作させるものだ。
下記ページを参考にしてWindows 10 Insider Preview 1607(14385.0)をインストールした環境で実験してみた。
■How To Install And Run Bash On Ubuntu On Windows 10 Right Now
http://fossbytes.com/install-run-bash-ubuntu-windows-10/
Linuxアプリケーション
RS1上のBashを起動してapt-get install等のコマンドを使用して、各種Ubuntu Linuxアプリケーションをインストール、動作することを確認した。
またapt-getでインストールしたgccを使用してCのソースコードをコンパイル後、動作することを確認した。
ファイルシステム
RS1上で動作する、LinuxのアプリケーションからWindowsローカルなファイルシステムを読み書きできることを確認した。
Socket通信
単純なローカルソケット通信Linuxアプリケーションを作成、起動してWindowsのコマンドプロンプトで動作するWindows純正のtelnet.exeと送受信できることを確認した。
この様にRS1ではGUI不可、/dev/以下のアクセス不可という条件付きながら、Linuxアプリケーションをそのまま動作させることが可能だった。Windowsアプリケーションとの連係も容易と思われる。
補足
インストールをした結果、RS1には次の様に/etc/以下のファイルシステムほか、/dev/を除いた Ubuntu 14.04.4 LTSがそのまま全部入ってることがわかった。
- Atomu Hidakaさんのブログ
- ログインしてコメントを投稿