Windows UpdateによるCreators Updateへのアップデートは未だ始まっていないが、日本時間の4月6日未明から「Update Assistant」を使うことによって、Creators Updateにアップデートできるようになったのはご存知のとおりだ。
Creators Updateによる機能追加・拡張部分はほかの記事に譲るとして、今回はBashに的を絞ってご紹介したい。
まず、Windows 10 Anniversary UpdateですでにBashがインストール済みの場合は、Creators Update直後は何も変化せず、Ubuntu 14.04.5 LTSの環境が維持される。このため、新しいBashをインストールするには、いったん旧環境を削除しなければならない。この時、Linuxファイルシステムごとなくなるので、何か環境を構築している場合はバックアップが必要となる。
Windows 10 Creators Update直後は、Windows 10 Anniversary UpdateのBashのまま。Ubuntu 14.04.5 LTSBashを削除する方法は、Windows PowerShell(管理者)を起動し、
PS C:\WINDOWS\system32> lxrun /uninstall /fullこれで綺麗に消えてなくなる。またBashをインストールしていない場合は、Windowsのプログラムと機能 > Windowsの機能の有効化または無効化で「Windows Subsystem for Linux (Beta)」へチェックを入れ、再起動後、設定 > 開発者向け機能を使う > 開発者モードにチェックを入れる(再起動)。
これで、これまでBashを使っていた人も、使っていなかった人も同じ状態になる。そしてWindows PowerShell(管理者)から、
PS C:\WINDOWS\system32> bashと入力。以降、メッセージに従って必要な項目を入力する。
続行するには、"y"を入力してください: yWindowsストアからダウンロード開始ファイルシステム展開UbuntuのロケールをWindowsのロケール(ja-JP)と一致するように設定しますか? 既定のロケールはen_USです。続行するには、"y"を入力してください: y新しいUNIXユーザー名を入力してください: xxxxxxxxx新しいUNIXパスワードを入力してください: xxxxxxxxx新しいUNIXパスワードを再入力してください: xxxxxxxxx以上で設定が完了する。
そのあと、いったんexitでWindows PowerShellから抜ける。Bashを起動するのは、スタートメニューの「Bash on Ubuntu on Windows」をクリックすればOKだ(もしくはWindows PowerShellからbash)。またrootユーザーでコマンドを実行するsudoを使用する時は、先に入力したパスワードを使う。
Bashを起動した状態でUbuntuバージョンを確認すると、
$ cat /etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=16.04DISTRIB_CODENAME=xenialDISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"と、Ubuntu 16.04.2 LTS(xenial)になっているのがわかる。加えて念のため、
$ sudo apt-get update$ sudo apt-get upgradeで、パッケージを更新する。以上でBashを使用する準備が完了する。
古いBashを削除してからの一連のインストール。Windows 10 Creators UpdateのBashはUbuntu 16.04.2 LTS本家Server/Desktop版ともに同じUbuntu 16.04.2 LTS