Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bash on Ubuntu on Windows ちょっとだけ Windows Subsystem for Linux

Bash on Ubuntu on Windows ちょっとだけ Windows Subsystem for Linux

2016/05/21 C#ユーザー会 //build/ 2016振り返り 勉強会

INOMATA Kentaro

May 21, 2016
Tweet

Other Decks in Technology

Transcript

  1. Bash on Ubuntu on Windows ちょっとだけWindows Subsystem for Linux 猪股健太郎

    (@matarillo ) 2016/05/21 C#ユーザー会 //build/ 2016振り返り 勉強会
  2. 1 Bash on Ubuntu on Windowsとは?  MicrosoftとCanonicalの 提携の成果の一つ 

    http://aka.ms/wsldocs  一般的なコマンドライン ツールが動く  ファイルシステムを操作で きる  Bashのシェルスクリプトが 動かせる
  3. 13 動いた、動かない、雑な報告  動いた  ネットワーク機能の一部  いろいろな言語開発環境 (Ruby, Perl,

    PHP, etc…)  一部のサーバー  単純なGUIアプリケーション (ただしWindowsでXサー バーを動かしておく)  まだ?動かない  ping (ICMP)  screen, tmux  名前付きパイプ  プロセス間通信  グラフィックス関連 (Xサーバーとか)、 サウンド関連、 その他デバイスもの  低レイヤーの機能とか
  4. 14 動いたとか動かないとか、まあおちつけ  基本、preview機能です  動いたといっても……  あくまで開発目的  本番運用はサポートされない(特にサーバー)

     動かないといっても……  フィードバック次第ではどうなるかわからん  開発目的でどうしても必要な何かがあるなら  https://github.com/Microsoft/BashOnWindows/issues  https://wpdev.uservoice.com/forums/266908-command-prompt-console- bash-on-ubuntu-on-windo/category/161892-bash
  5. 15 話かわって  ファイルシステム  Windows Subsystem for Linux Overview

     https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/
  6. 20 Bash on Ubuntu on Windowsは••ではない  「Bashぐらいこれまでだって動いてただろ。」  その通りです。

     でも、違いはあります。  でもでも、これまでできなかったすごいことが できるようになったのかというと……うーん。  とある利用シーンでは便利にはなったと思います。
  7. 21 似て非なるテクノロジー  GNU on Windows  Git for Windows

     MinGW&MSYS / MSYS2  Cygwin  POSIXサブシステム / SFU / SUA  coLinux  VM (Hyper-VやVirtualBoxなど) でLinuxを動 かす 技術はこれの仲間 使用感はこれに近い、 かな。 Windowsバイナリの壁 Linuxバイナリの壁
  8. 22 時間があれば補足 (主観強め)  GNU on Windows  コマンドプロンプトで生きる。あとちょっとだけスクリプティング 

    Git for Windows  Gitメイン。対話シェルとしてのbashも。  MinGW&MSYS / MSYS2  bashで生きつつ、コマンドプロンプトもほどほどに  Win32バイナリをビルドしたい  Cygwin  なんとかしてWindowsにUnixライク環境を実現したい  あれもこれも動かしたい  コマンドプロンプトなんか使わない
  9. 24 コマンドラインインターフェースの世界  端末エミュレーター  シェル(対話モード/バッチモード)  内部コマンド  外部コマンド

     パッケージマネージャ  開発環境  Cコンパイラとlibc (glibc)  ※ オフトピ:PowerShell に見るWindows文化とUnix哲学の違い ここだけは改善するから これより下は Linuxの世界を そのまま持ってきたい
  10. 32 インサイドMicrosoft Windows 第4版 上 第2章  @ITに転載記事が。  小さくて見えない……

     http://www.atmarkit.co.jp/fwin2k/bookprevi ew/insidewin4/insidewin4_04.html
  11. 33 インサイドMicrosoft Windows 第4版 上 第2章  @ITに転載記事が。  小さくて見えない……

     http://www.atmarkit.co.jp/fwin2k/bookprevi ew/insidewin4/insidewin4_04.html
  12. 36 SUAも。 SUAアプリケーション Subsystem for Unix Application (POSIX互換APIなど) カーネルモードの壁 Ntdll.dll

    Systemプロセスとか カーネルとか (API非公開) Windowsから起動 することもできる バイナリ形式だっ たとか。
  13. 37 Winows Subsystems for Linuxも? Linuxアプリケーション (ELF) Winows Subsystems for

    Linux (Llinux API) カーネルモードの壁 Ntdll.dll Systemプロセスとか カーネルとか (API非公開) ?
  14. 44 5/24(日本時間)続報キタ!  Pico Process Overview  https://blogs.msdn.micros oft.com/wsl/2016/05/23/pic o-process-overview/

     fork()やファイルパスの扱 いの改善のため、NTカー ネルにも手が入った模様 やはり Linux Subsystemは カーネルモード!
  15. 45 雑なまとめ  Ubuntu環境が高速に起動するのがよい  コンテナっぽさ  ただし1ユーザーに1環境のみ、再利用のしくみもない  コマンドラインツールとか、

    一時的なサーバー利用とか  Bash窓を全部閉じたらLXSSもシャットダウンするよ  Windows ServerがLinux化する ……みたいな方向にはいかないはず(Azureあるし)  DrawBridgeがアツい