「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Linuxサブシステム]] * 目次 [#rdb7338f] #contents *概要 [#ua00ab1b] -Windows Subsystem for Linux (以下、WSLと略す。) -旧称:[[Bash]] on Ubuntu on Windows / [[Bash]] on Windows -仮想環境、エミュレーション環境(互換レイヤ)なので、~ [[Hyper-V]]の機能は使用せず、新しいサブシステムとしてLinuxを動作させることができる。 -これは、Linux系の開発環境をサポートすることが主目的と予想されている。 **方式 [#ma09b3b5] -Linux互換環境を提供するPicoプロバイダードライバー~ (lxss.sysとlxcore.sysという2つのカーネルドライバー)で実装されている。 -[[リダイレクタ的なアーキテクチャによって>NetBIOS#e614ed6a]]、~ WindowsクライアントとLinuxサーバをPico経由で接続して動作する。 Microsoft Bash Launcher(bash.exe) ---> LX Session manager service ---> Pico <---> Linux -これにより、ほぼネイティブに(?)Linuxの機能(バイナリ)がWindowsから呼び出せる。 **ディストリビューション [#xd8a2083] 厳密には以下のLinuxディストリビューションの上で動作可能なツール -Ubuntu -OpenSUSE -SUSE Linux Enterprise Server -WLinux Enterprise -Fedora Remix for WSL *詳細 [#k849312c] **インストール/アンインストール [#o393cbb1] ***Fall Creators Update(V.1709)以降 [#r34eea59] -参考 --Windows 10でLinuxプログラムを利用可能にする~ WSL(Windows Subsystem for Linux)をインストールする:Tech TIPS - @IT~ http://www.atmarkit.co.jp/ait/articles/1608/08/news039.html ***Creators Update(V.1703)以前 [#t31e67b4] -参考 --Windows Subsystem for Linuxをインストールしてみよう! - Qiita~ https://qiita.com/Aruneko/items/c79810b0b015bebf30bb ***ディストリビューション変更 [#h9713feb] -WSL-Distribution-Switcherというツールが使用できる。 -V.1703互換操作で初期ディストリビューションセットアップすれば、V.1709のWSLでも、利用可能。 -参考 --Windows 10で始めるBash(41) WSL上のLinuxディストリビューションを変更する | マイナビニュース~ https://news.mynavi.jp/article/bashonwindows-41/ **特徴 [#a5db540f] ***自動的にSSHサーバが起動する [#nbdef969] -WSLを入れると、自動的にSSHサーバが起動する。 -必要に応じて、 --Windowsファイアーウォールで当該ポートを塞ぐか、 --SSHサーバのサービスそのものを無効化する。 ***I/Oが遅いらしい [#o3358b21] Linuxと違いWindowsはファイルシステムへのアクセスが必須で、~ 大量のフィルター(ドライバ)が登録されているため遅いらしい。 -Major performance (I/O?) issue in /mnt/* and in ~ (home) · Issue #873 · Microsoft/WSL~ https://github.com/Microsoft/WSL/issues/873#issuecomment-425272829 --https://twitter.com/EzoeRyou/status/1081354029978902528 **相互運用 [#cbc6e571] ***[[WSLでのWindowsとLinuxの相互運用]] [#y0586a5a] ***[[WindowsとWSL間の接続]] [#a18d1c2c] ***[[WSL上での.NET Core開発]] [#fa6de268] *WSL2 [#t1ddb916] **概要 [#q58fe91d] -単にHyper-VでホストされるLinux --Hyper-Vは、WSL2専用にカスタマイズされた軽量版 --Linuxカーネルも独自パッチで軽量化を実現している -UI/UXはWSLと同じ(WSLのUXを追求) --ホストと異なるIPアドレスだったが、~ Build 18945で改善されたもよう。 --DrvFs → P9の影響はどうなるか? **[[参考>#ha8502f6]] [#ed5febdb] *参考 [#ida97117] **[[Docker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Docker]]との関係 [#ye854812] WSL上で[[Docker>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Docker]]を動かすことはできない。~ [[Dockerのクライアント(Dockerコマンド)>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Docker#jbff7b71]]のみ利用するケースが多い。 **Build Insider [#n82f3c3e] -Windows Subsystem for Linuxとは? そのインストールと使い方~ http://www.buildinsider.net/enterprise/wsl/01 -Bash on Ubuntu on Windowsの、Creators Updateでの強化点&新機能~ http://www.buildinsider.net/enterprise/wsl/creatorsupdate **@IT [#zc4bbedd] -Windows 10 The Latest:Windows 10でUbuntuのシェル「Bash」が動き始める! だが日本語はどうなる? (1/2)~ http://www.atmarkit.co.jp/ait/articles/1604/11/news031.html -Tech TIPS:Windows 10のLinux/Ubuntu互換環境でbashを使う~ http://www.atmarkit.co.jp/ait/articles/1608/08/news039.html **Qiita [#aae60597] -Bash on Ubuntu on Windowsの動作要件~ https://qiita.com/tsukamoto/items/47717f8872325734b4e6 -Bash on Ubuntu on Windowsをインストールしてみよう!~ https://qiita.com/Aruneko/items/c79810b0b015bebf30bb -WSLでDockerを使う~ https://qiita.com/tkyonezu/items/f89fe109ee764912bc8f -Windows Subsystem for LinuxからDockerを使う~ https://qiita.com/koduki/items/37b97ef3310186ff73b8 **kledgeb [#tbdfa959] -kledgeb: WSL~ https://kledgeb.blogspot.jp/search/label/WSL?max-results=10 -仕組み --WSL その1 - Ubuntu on Windowsの概要とアーキテクチャー・Ubuntu on WindowsのFAQ~ https://kledgeb.blogspot.jp/2016/04/wsl-1-ubuntu-on-windowsubuntu-on.html --その17 - WSLの仕組みとWSLを構成するコンポーネント~ https://kledgeb.blogspot.jp/2016/05/wsl-17-wslwsl.html -[[WSL2>#d0bedb7d]] **Microsoft Docs [#q0526926] -Windows Subsystem for Linux について~ https://docs.microsoft.com/ja-jp/windows/wsl/about **WSL2 [#ha8502f6] ***kledgeb [#d0bedb7d] -その171 - Windows Subsystem for Linuxの新アーキテクチャー、WSL 2登場~ https://kledgeb.blogspot.com/2019/05/wsl-171-windows-subsystem-for-linuxwsl-2.html -その172 - WSL 2とLinux kernel・MicrosoftがLinux kernelを提供~ https://kledgeb.blogspot.com/2019/05/wsl-172-wsl-2linux-kernelmicrosoftlinux.html -その173 - WSL 2とよく寄せられる質問~ https://kledgeb.blogspot.com/2019/05/wsl-173-wsl-2.html -その174 - WindowsからLinuxのファイルにアクセスする仕組みの詳細とWSL 2~ https://kledgeb.blogspot.com/2019/06/wsl-174-windowslinuxwsl-2.html -その175 - Build 18917でWSL 2が利用可能に・WSL 2を利用するには~ https://kledgeb.blogspot.com/2019/06/wsl-175-build-18917wsl-2wsl-2.html -その176 - WSL 1とWSL 2の使い勝手の違い~ https://kledgeb.blogspot.com/2019/06/wsl-176-wsl-1wsl-2.html --ネットワークアプリへアクセスするには --ストレージ領域の最大サイズを大きくするには -その177 - 仮想マシン内でWSL 2は利用できるのか?~ https://kledgeb.blogspot.com/2019/06/wsl-177-wsl-2.html -その181 - WSL 2でリモートからアプリに接続する時の注意事項~ https://kledgeb.blogspot.com/2019/07/wsl-181-wsl-2.html -その182 - Build 18945のWSLに関する変更点・WSL 2の大幅な改善と改良~ https://kledgeb.blogspot.com/2019/07/wsl-182-build-18945wslwsl-2.html -その183 - localhostサポート~ https://kledgeb.blogspot.com/2019/07/wsl-183-localhostwsl-2.html --WSL 2グローバル設定のサポート --カスタムカーネルのサポート ***SIOS Tech. Lab [#ka2f76e9] -WSL2で劇的に変わるあなたのWebアプリケーション開発環境 --【その1:概要編】~ https://tech-lab.sios.jp/archives/18431 --【その2:導入編】~ https://tech-lab.sios.jp/archives/18437 --【その3:実践編】~ https://tech-lab.sios.jp/archives/18446 ***Microsoft Docs [#e3f89dd2] https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-index -WSL 2 -WSL 2 について -WSL 2 のインストール -WSL 1 から WSL 2 へのユーザー エクスペリエンスの変更 ---- Tags: [[:Windows]], [[:Linux]], [[:Linuxサブシステム]], [[:仮想化]]