2016年8月3日水曜日

Windows 10 Anniversary UpdateしたのでBashを試す

Windows 10 Anniversary Updateをさっそくインストールしました。
時間かかるので作業しない時にやるのがおすすめです。

参考 アップデートの所要時間

  • ダウンロード 30分
  • インストール(再起動)20分
  • Bashインストール 10分

Windows Subsystem for Linux (Beta)を有効化する

まだbeta版なんですね。
有効化してPCを再起動します。

コマンドプロンプトからbashを起動する

>bash
-- ベータ機能 --
これにより Windows に Ubuntu がインストールされます。Ubuntu は Canonical によって配布される製品であり、
次のサイトに示される条件に基づいてライセンスされています。
https://aka.ms/uowterms

この機能を使用するためには開発者モードを有効にする必要があります。
ベータ版なので、開発者モードが必要なのかな?

開発者モードに変更する

  1. Windowsキー + Iキーで「Windowsの設定」画面を開く
  2. 「更新とセキュリティー」をクリック
  3. サイドメニューの「開発者向け」をクリック
  4. 「開発者モード」をクリック
  5. 「はい」をクリック
  6. 念のため再起動(おそらく不要)

コマンドプロンプトからbashを起動する

>bash
-- ベータ機能 --
これにより Windows に Ubuntu がインストールされます。Ubuntu は Canonical によって配布される製品であり、
次のサイトに示される条件に基づいてライセンスされています。
https://aka.ms/uowterms

続行するには、"y" を入力してください:
Windows ストアからダウンロードしています... 100%
ファイル システムを展開しています。この処理には数分かかります...
ストアからダウンロードなんですね。
UNIX ユーザー アカウントを作成してください。ユーザー名は、Windows のユーザー名と一致する必要はありません。
詳細: https://aka.ms/wslusers を参照してください
新しい UNIX ユーザー名を入力してください:
Windowsとは別世界のようですので、ユーザー名を設定しました。
Microsoftアカウントとは別に扱えるので、私にとってはこの仕様は助かります。
新しい UNIX ユーザー名を入力してください: 
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: password updated successfully
インストールが正常に終了しました
環境が間もなく開始されます...
ドキュメントを参照できる場所: https://aka.ms/wsldocs
***@DESKTOP:/mnt/c/Users/username$
おおおおお、そのまま使える。すこし感動
$ uname -a
Linux DESKTOP 3.4.0+ #1 PREEMPT Thu Aug 1 17:06:05 CST 2013 x86_64 x86_64 x86_64 GNU/Linux
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          224G   46G  178G  21% /
tmpfs           224G   46G  178G  21% /run
none            224G   46G  178G  21% /run/lock
none            224G   46G  178G  21% /run/shm
none            224G   46G  178G  21% /run/user
$ ls -la /
合計 141
drwxr-xr-x 2 root root     0  1月  1  1970 .
drwxr-xr-x 2 root root     0  1月  1  1970 ..
drwxr-xr-x 2 root root     0  8月  3 08:24 acct
drwxr-xr-x 2 root root     0  3月 24 05:45 bin
drwxr-xr-x 2 root root     0  3月 24 05:54 boot
drwxrwx--- 2 root root     0  1月  1  1970 cache
drwxrwx--x 2 root root     0  1月  1  1970 data
drwxr-xr-x 2 root root     0  8月  3 08:21 dev
drwxr-xr-x 2 root root     0  8月  3 08:21 etc
drwxr-xr-x 2 root root     0  1月  1  1970 home
-rwxr-x--- 1 root root 38896  1月  1  1970 init
drwxr-xr-x 2 root root     0  3月 24 05:54 lib
drwxr-xr-x 2 root root     0  3月 24 05:42 lib64
drwx------ 2 root root     0  3月 24 05:46 lost+found
drwxr-xr-x 2 root root     0  3月 24 05:41 media
drwxr-xr-x 2 root root     0  1月  1  1970 mnt
drwxr-xr-x 2 root root     0  3月 24 05:41 opt
dr-xr-xr-x 1 root root     0  8月  3 08:21 proc
drwx------ 2 root root     0  1月  1  1970 root
drwxr-xr-x 2 root root     0  8月  3 08:21 run
drwxr-xr-x 2 root root     0  3月 24 05:45 sbin
drwxr-xr-x 2 root root     0  3月 24 05:41 srv
dr-xr-xr-x 1 root root     0  8月  3 08:21 sys
drwxrwxrwt 2 root root     0  8月  3 08:19 tmp
drwxr-xr-x 2 root root     0  3月 24 05:41 usr
drwxr-xr-x 2 root root     0  3月 24 05:45 var
気になるエディターは?
$ sudo update-alternatives --config editor
alternative editor (/usr/bin/editor を提供) には 4 個の選択肢があります。

  選択肢    パス              優先度  状態
------------------------------------------------------------
* 0            /bin/nano            40        自動モード
  1            /bin/ed             -100       手動モード
  2            /bin/nano            40        手動モード
  3            /usr/bin/vim.basic   30        手動モード
  4            /usr/bin/vim.tiny    10        手動モード
vimにしました。
$ screen
Cannot make directory '/var/run/screen': 許可がありません
screenはそのままでは起動せずディレクトリを作成した。
sudo mkdir /var/run/screen
sudo chmod 777 /var/run/screen
tmuxは問題なく起動した。
sudo: ホスト HOSTNAME の名前解決ができません
sudoコマンドは毎回名前解決で失敗するので/etc/hostsにコンピュータ名を登録した。

細かいところはいろいろありそうですが、使えそうな予感です。
Insider previewの不具合を恐れてこれまで使えなかったのですが、しばらくこれで遊んでみます。
この手軽さ・・・、今までのWindowsはなんだったのか・・・
最後に、
Windowsメニューに表示される名前は「Bash on Ubuntu on Windows」という長い名前でした。