【永遠にWIP】Windows Subsystem Linux が Windows10 1709(Fall Creators Update) でどうなったか見るmemo Ver. 20171104


タイトル長い…、けど一見さんには正式名称で書いておかないと、検索効率悪そうなので敢えて長いままで。

# このページについて
以前 [【永遠にWIP】Bash on Ubuntu on Windows の 環境整備等あれこれ - Qiita](https://qiita.com/wenbose/items/9d2ec4e663258e97ae2a) というのを書いたが、Win10 も 1709 になってかなり勝手が変わったので、

* どこが1703と同様な操作で行けるのか
* どこが変わったか

を中心にメモすることにする

* 尚、ここではWin10のバージョン表記を以下のように略す

|項目名|表記|
|---|---|
|前記事のバージョン(Windows10 Creators Update) | Win10 1703 |
|今回取り上げるバージョン(Windows10 Fall Creators Update) |  Win10 1709 |

# 忙しい人向けのまとめ(下の説明を見るのがだるい人向け、更新忘れるかも)

* インストールがストアからのインストールOnlyっぽいよ！
* アンインストールはCLIでも行けるよ！
* Powershellからの起動コマンドが、bashからディストリビューション毎に代わるようになったよ！
* その他は大きく変わってないみたいよ！(自分が調べた限り)

# 以下メモ(雑多)

## Windows Subsystem for Linux の有効化
* Win10 1703の時は betaがついていた所にbeta無しの **「Windows Subsystem for Linux」** が出来上がっているので同様に下記で行ける。
* 「コントロールパネル＞プログラムと機能＞Windowsの機能の有効化または無効化」を選び
    * 「Windows Subsystem for Linux」を有効化しておく。

* 尚ググった所、PowerShellのコマンドレットでも行けるらしい？(未確認なので自己責任でどうぞ)

```shell-session
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
```

```shell-session
DISM.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux
```

## インストール方法

* Win10 1703 の時は **lxrun** というお手軽インストール/アンインストール用CLIツールがあったが、 Win10 1709 になり非推奨になった。
* Win10 1709 からは **ストアからのインストール(GUI)** が 唯一の経路にな
っている模様だ(CLIに同様のことができる該当のツールがない)
* インストール後の初期ユーザの設定は実際にディストリビューションを初回起動すると、対話形式でCLIで聞いてくる
    * この辺スキップできる機構は欲しかった所。(win10 1703 の lxrunはそれができた)

## アンインストール方法

* Win10 1703 の時は **lxrun /uninstall** コマンドでCLIから実行が可能だった。
* Win10 1709 になるとAppx Module Cmdlets のコマンド群が使える。(Get-AppxPackageや Remove-AppxPackage)
    * 例えばSUSE Leap42をアンインストールしたいときは下記コマンドでアンインストールは可能。事前にGet-AppxPackage のみを実行して、余計なアプリを消すことの無い用に確認しておくとよい。

```shell-session
Get-AppxPackage -Name *SUSE* | Remove-AppxPackage
```

* 実行すると何もログが出ずにプロンプトが返ってくる。

```shell-session
PS C:\ > Get-AppxPackage -Name *SUSE*

Name              : 46932SUSE.openSUSELeap42.2
Publisher         : CN=15720A30-FA72-4BF5-8077-C1376E0B561C
Architecture      : X64
ResourceId        :
Version           : 1.1.0.0
PackageFullName   : 46932SUSE.openSUSELeap42.2_1.1.0.0_x64__022rs5jcyhyac
InstallLocation   : C:\Program Files\WindowsApps\46932SUSE.openSUSELeap42.2_1.1.0.0_x64__022rs5jcyhyac
IsFramework       : False
PackageFamilyName : 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
PublisherId       : 022rs5jcyhyac
IsResourcePackage : False
IsBundle          : False
IsDevelopmentMode : False
IsPartiallyStaged : False
SignatureKind     : Store
Status            : Ok

PS C:\ > Get-AppxPackage -Name *SUSE* | Remove-AppxPackage
PS C:\ > Get-AppxPackage -Name *SUSE*
PS C:\ >
```

## ディストリビューションの起動や 初期ユーザ設定

* Win10 1703 の時にも行っていた初期ユーザ設定は Win10 1709でも健在。しかもインストールディストリビューション毎に個別の設定が必要になった(UbuntuとopenSUSEはそれぞれ個別に設定を入れる必要がある)
* ディストリビューションの起動の方法は以下の何れか
    * スタートメニューから **Ubuntu** や **OpenSUSE Leap 42** 等の項目をクリック
    * パスが通っている所に起動用のexeがいるので、Powershell等から **Ubuntu.exe** . **openSUSE-42.exe** の実行でも実行可能。

```shell-session
PS C:\ > openSUSE-42.exe
Installing, this may take a few minutes...
Installation successful!
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: xxxxxx
New password:
Retype new password:
passwd: password updated successfully
Use same password for root user?
Type "y" to approve, any other key to reject: y
Default UNIX user set to: xxxxxx
xxxxxx@PC:~>
```

## 初期ユーザのsudo 設定

* ここはwin10 1703 の時からwin10 1709 になっても変わらずです。下記で行けます。

```shell-session
sudo bash -c "echo \"[デフォルトユーザ名] ALL=(root) NOPASSWD: ALL\" >> /etc/sudoers.d/nonpass_sudo"
sudo chmod 0440 /etc/sudoers.d/nonpass_sudo
sudo visudo -c
```

* 最後の sudo visudo -c にてエラーが出なければOK。壊れたらインストールからやり直し

# これ以降の細かいの

* 前記事の [【永遠にWIP】Bash on Ubuntu on Windows の 環境整備等あれこれ - Qiita](https://qiita.com/wenbose/items/9d2ec4e663258e97ae2a) を参照して頂けるとありがたいです…
* あと、ググった記事を中心に纏めてるので、これ違うよ！このほうが良いよ！というのがあったらバシバシコメントいただきたいです :pray: 

# 参考記事系

* [Install the Linux Subsystem on Windows 10](https://msdn.microsoft.com/en-us/commandline/wsl/install-win10)
* [Install and Run Bash on Windows 10 using Windows Subsystem for Linux](https://www.windowsvalley.com/install-run-bash-windows-10-windows-subsystem-for-linux/)
* [GitHub - Microsoft/WSL: Issues found within and using Bash on Ubuntu on Windows](https://github.com/Microsoft/WSL)
* [Download Ubuntu on Windows 10 from Windows Store](http://www.thewindowsclub.com/ubuntu-windows-10-store)
* [Windows10標準アプリを削除、再インストールする方法 | WindowsFAQ](https://windowsfaq.net/settings/delete-application/)
* [Get-AppxPackage](https://technet.microsoft.com/ja-jp/library/dn448380.aspx)
* [【永遠にWIP】Bash on Ubuntu on Windows の 環境整備等あれこれ Ver. 20170505 - Qiita](https://qiita.com/wenbose/items/9d2ec4e663258e97ae2a)