Matthewの備忘録

忘れたときはここを見ろ。何か書いてある。

Windows Subsystem for Linux 環境整備その4

 2017年4月11日にWindows 10の大幅なアップデートが開始されたので、私も所有・管理するPCのアップデートを行った。それに伴いWindows Subsytem for Linux及びBash on Ubuntu on Windowsの更新を行うことにした。当初はbash上からdist-upgradeだけで済むと考えていたのだが、Windows Subsytem for Linuxの大幅な改良が施されたように感じ、dist-upgradeした程度では不整合が起きそうな気がしたので、全てを再インストールすることにした。

バックアップ

 /home、人によっては/rootfs/etcなどをバックアップしておくとよいだろう。%LOCALAPPDATA%\lxss(%USERPROFILE%\AppData\Local\lxss)ディレクトリにある。私は手動でバックアップした。

Windows 10 Creators Update

 4月12日でも通常の更新ではインストールできないので、Windowsの「更新とセキュリティ」-「設定」に「お待たせしました!間もなくWindows 10 Creators Update...。いち早く手に入れる方法を確認しますか?」と表示されているのを確認して、そのしたのリンクを押し、アップデートプログラムのダウンロードサイトに進み、ダウンロードそして実行を行えば、Windows 10 Creators Updateが始まる。この更新はかなり時間が掛かる。

 通常の更新でもインストールできるようになっていれば、ここは読み飛ばして構わない。

アンインストール

 コマンドプロンプトを開いて、直ぐにアンインストール(/uninstall)を実行した。/updateコマンドがあるが、誰も詳細に調べていないようなので、使わない。

C:\Users\user>lxrun /uninstall /full

/fullオプションを指定したことであらゆる関係物を全て削除してくれると思ったが、%LOCALAPPDATA%\lxss/$home|root$が残るので、次のコマンドで削除するか、エクスプローラー上で削除。

C:\Users\user>rmdir /S %LOCALAPPDATA%\lxss

matthew.hatenadiary.jp

削除できなかったときは次の記事を参考にするとよい(lxssmanager):
matthew.hatenadiary.jp

インストール

 アンインストールができたなら、続けて次のコマンドを実行してインストールできるはず。

C:\Users\user>bash

 インストール途中、Windowsロケール(ja-JP)と一致させるかどうかを尋ねてくる。今回は一致させた。また、bashコマンドでインストールしたので、一般ユーザーを一人作成する。

 インストールが終わったら、/etc/lsb-releaseを表示させて最新のバージョンかどうかを確認すること。今回は16.04.1 LTSである。そしてコマンドプロンプトまたはPowerShellを閉じ、Bash on Unbutu on Windowsを起動すればよい。設定は次を参考にすればよい。

matthew.hatenadiary.jp

 更新されたBash on Ubuntu on Windowsをインストールするとホスト名が自動的に登録され、次のコマンドを実行する必要がなくなった:

$ sudo echo "127.0.0.1 $NAME" >> /etc/hosts

また、ubuntuのupdate/upgradeを忘れずに(バージョンを固定したいときはこのかぎりではない)。

参考

pc.watch.impress.co.jp

因みに、Bash on Windowsの開発はgithub上で行われているらしい(?):

github.com