【2018年3月 追記】本ブログは、ベータ版についての記述です。
正式版については、ここを参照してください。
はじめに
2017年4月、Windows 10 Creators Updateにより「Bash on Ubuntu on Windows」がバージョンアップしました。「Bash on Ubuntu on Windows」とは、Windows Subsystem for Linux(WSL)の仕組みで動作するUbuntu環境のことで、Windows10でUbuntuが動作します。
Windows 10 Creators Updateにより、Ubuntu環境が 14.04.5 LTSから16.04.2 LTSへバージョンアップしました。
- 2016年8月 : Ubuntu 14.04.5 LTS リリース (By Windows 10 Anniversary Update)
- 2017年4月 : Ubuntu 16.04.2 LTS リリース (By Windows 10 Creators Update)
Bash on Ubuntu on Windowsのバージョンアップ
私のPCにインストールした「Bash on Ubuntu on Windows」をバージョンアップしました。
Windows10 Creators Updateを実施
Windows10アップグレードアシスタントを起動して、Windows 10 Creators UpdateによりWindows10をバージョンアップします。
Windows10のバージョンは、『Windowsの設定→システム→バージョン情報』で確認できます。
バージョン番号1703、OSビルド15063.250です。
「Bash on Ubuntu on Windows」は、Windows 10 Anniversary Updateによりすでにインストール済みです。「Bash on Ubuntu on Windowsとは」を参照してください。
Windows 10 Creators Update しましたが、「Bash on Ubuntu on Windows」のバージョンや環境には変化ありません。
pi@RZ82:~$ uname -a Linux RZ82 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 x86_64 x86_64 x86_64 GNU/Linux
pi@RZ82:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty
Bash on Ubuntu on Windowsのアップデート方法
Bash on Ubuntu on Windowsのアップデートを実施するために、Ubuntu環境を一度アンインストールしてから再インストールします。
Windowsコマンドプロンプトでコマンドを実行します。
アンインストールは、下記コマンドを実行します。
lxrun /uninstall
ホームディレクトリの内容もまとめて削除する場合は、「/full」オプションを付けます。
lxrun /uninstall /full
再インストールするには、下記コマンドを実行します。
lxrun /install
Bash on Ubuntu on Windowsのアップデートしてみる
最初にアンインスールします。
C:\Users\yuki> lxrun /uninstall これにより Windows 上の Ubuntu がアンインストールされます。 Ubuntu 環境および次の項目を除くすべての変更内容と新しいアプリケーションが削除されます。 C:\Users\yuki\AppData\Local\lxss\home C:\Users\yuki\AppData\Local\lxss 続行するには、"y" を入力してください: y アンインストールしています...
次に、再インストールします。
C:\Users\yuki> lxrun /install -- ベータ機能 -- これにより Windows に Ubuntu がインストールされます。Ubuntu は Canonical によって配布される製品であり、 次のサイトに示される条件に基づいてライセンスされています。 https://aka.ms/uowterms 続行するには、"y" を入力してください: y Windows ストアからダウンロードしています... 100% ファイル システムを展開しています。この処理には数分かかります... Ubuntu のロケールを Windows のロケール (ja-JP) と一致するように設定しますか? 既定のロケールは en_US です。 続行するには、"y" を入力してください: y 既定の UNIX ユーザーを復元しています: pi 新しい UNIX パスワードを入力してください: 新しい UNIX パスワードを再入力してください: passwd: password updated successfully インストールが正常に終了しました
Bash on Ubuntu on Windowsを実行して、ターミナルを開きます。
インストールしているパッケージを最新版に更新します。
sudo apt update sudo apt upgrade
Bash on Ubuntu on Windowsのバージョンを確認します。
pi@RZ82:~$ uname -a Linux RZ82 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 x86_64 x86_64 x86_64 GNU/Linux
pi@RZ82:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.2 LTS Release: 16.04 Codename: xenial
Ubuntu 16.04.2 LTS にバージョンアップしました。
初期設定 hosts
Ubuntu 14.04.5 LTS の時は、/etc/hosts にホスト名を追記しましたが、Ubuntu 16.04.2 LTS では自動的にホスト名が追記されるようになりました。
pi@RZ82:~/test$ cat /etc/hosts # This file was automatically generated by WSL. To stop automatic generation of this file, remove this line. 127.0.0.1 localhost 127.0.1.1 RZ82.localdomain RZ82 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
初期設定 リポジトリの変更
apt-getコマンドによりパッケージをインストールする時のサーバー指定が、海外のサーバーになっているので日本のサーバーに変更します。
/etc/apt/sources.list のホスト名を変更します。
オリジナルの sources.list は、下記のように記述されています。
pi@RZ82:~$ cat /etc/apt/sources.list deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
国内のサーバーに変更します。
pi@RZ82:~$ cat /etc/apt/sources.list deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial main restricted universe multiverse deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-updates main restricted universe multiverse deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
UbuntuファイルとWindowsファイル
Ubuntu環境は、Windowsの「%LocalAppData%\LxSS」に隠しファイル(保護されたオペレーティングシステムファイル)としてインストールされます。
私のPCのユーザー名は「yuki」ですので、%LocalAppData% は「C:\Users\yuki\AppData\Local」となり、「C:\Users\yuki\AppData\Local\LxSS」にインストールされます。
Windows側からUbuntu環境のファイルへの(追加/変更/削除)アクセスは禁止しています。もし、ファイルに書き込みした場合は、ファイルシステムが壊れてしまいますので注意が必要です。
逆に、Ubuntu側からWindows環境のファイルへのアクセスは、/mnt/ドライブ名にマウントされていますので /mnt/e/ などでアクセス可能です。
最後に
今回のバージョンアップにより、Ubuntuの日本語環境が安定してきたようなので、活用してみたいと思います。
また、 BashからWindowsプログラムの実行ができたり、DOS環境からBashコマンドが実行できるようになったので、bashとwindowsを連携させた快適な環境を実現させてみたいと考えています。