タイトル長い…、けど一見さんには正式名称で書いておかないと、検索効率悪そうなので敢えて長いままで。
このページについて
以前 【永遠にWIP】Bash on Ubuntu on Windows の 環境整備等あれこれ - Qiita というのを書いたが、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のコマンドレットでも行けるらしい?(未確認なので自己責任でどうぞ)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
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 のみを実行して、余計なアプリを消すことの無い用に確認しておくとよい。
Get-AppxPackage -Name *SUSE* | Remove-AppxPackage
- 実行すると何もログが出ずにプロンプトが返ってくる。
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 の実行でも実行可能。
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 になっても変わらずです。下記で行けます。
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 を参照して頂けるとありがたいです…
- あと、ググった記事を中心に纏めてるので、これ違うよ!このほうが良いよ!というのがあったらバシバシコメントいただきたいです
参考記事系
- Install the Linux Subsystem on Windows 10
- Install and Run Bash on Windows 10 using Windows Subsystem for Linux
- GitHub - Microsoft/WSL: Issues found within and using Bash on Ubuntu on Windows
- Download Ubuntu on Windows 10 from Windows Store
- Windows10標準アプリを削除、再インストールする方法 | WindowsFAQ
- Get-AppxPackage
- 【永遠にWIP】Bash on Ubuntu on Windows の 環境整備等あれこれ Ver. 20170505 - Qiita