こんにちは、キャスレーコンサルティングのSI(システム・インテグレーション)部:藤沢です。
今回はWindows 10 Anniversary Updateが2016年8月2日に公開されて、その中で注目されていた新機能の”Windows Subsystem for Linux”を利用した”Bash on Ubuntu on Windows”を使用してみたいと思います。

Windows Subsystem for Linuxを有効化

まずは、Windows Subsystem for Linuxを有効にします。
スタートボタンを右クリックし「プログラムと機能」を選択し、「Windowsの機能の有効化または無効化」を選択します。Windowsの機能から「Windows Subsystem for Linux(Bata)」にチェックを入れ再起動します。

01.プログラムと機能

02.Windowsの機能の有効化と無効化

03.Windowsの機能

開発者モードの有効化

スタートメニューから設定を選択し、「更新とセキュリティ」をクリックします。開発者向けタブを開き「開発者モード」を選択します。
確認ダイアログが表示されますので、「はい」を選択します。

04.Windowsの設定

05.Windowsの設定

06.確認

bashの初期設定

PowerShellまたはコマンドプロンプトから「bash」を入力し、初期設定を行います。

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

続行するには、"y" を入力してください: y

ユーザ名とパスワードを入力するとインストールが完了いたします。

実行

まずは、CPU、メモリを確認します。起動している実機と同じですね。

$ cat /proc/cpuinfo
・・・
model name      : Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
・・・
$ cat /proc/meminfo
MemTotal:       16658784 kB
・・・

07.CPUZ

次にUbuntuに何のパッケージがインストールされているか確認するため”apt-show-versions”をインストールして確認します。

$ sudo apt-get install apt-show-versions
$ apt-show-versions | sort
accountsservice:amd64/trusty-updates 0.6.35-0ubuntu7.2 uptodate
acpid:amd64/trusty 1:2.0.21-1ubuntu2 uptodate
adduser:all/trusty 3.113+nmu3ubuntu3 uptodate
apparmor:amd64/trusty-updates 2.8.95~2430-0ubuntu5.3 uptodate
apport-symptoms:all/trusty 0.20 uptodate
apport:all/trusty-updates 2.14.1-0ubuntu3.19 upgradeable to 2.14.1-0ubuntu3.21
apt-show-versions:all/trusty 0.22.3 uptodate
apt-transport-https:amd64/trusty-updates 1.0.1ubuntu2.11 upgradeable to 1.0.1ubuntu2.14
apt-utils:amd64/trusty-updates 1.0.1ubuntu2.11 upgradeable to 1.0.1ubuntu2.14
apt-xapian-index:all/trusty 0.45ubuntu4 uptodate
apt:amd64/trusty-updates 1.0.1ubuntu2.11 upgradeable to 1.0.1ubuntu2.14
aptitude-common:all/trusty 0.6.8.2-1ubuntu4 uptodate
・・・以下略

さらに、どのサービスが起動しているか確認するため”sysv-rc-conf”をインストールして確認します。

$sudo apt-get install sysv-rc-conf
$sudo sysv-rc-conf --list
acpid
apparmor     S:on
apport
atd
console-setu
cron
cryptdisks
cryptdisks-e 0:on       6:on    S:on
dbus
dns-clean    1:on       2:on    3:on    4:on    5:on
friendly-rec
halt         0:on
irqbalance
killprocs    1:on
kmod
landscape-cl 0:off      1:off   2:on    3:on    4:on    5:on    6:off
networking
ondemand     2:on       3:on    4:on    5:on
open-vm-tool 0:off      1:off   2:on    3:on    4:on    5:on    6:off
pppd-dns     1:on       2:on    3:on    4:on    5:on
procps
rc.local     2:on       3:on    4:on    5:on
reboot       6:on
resolvconf
rsync        0:off      1:off   2:on    3:on    4:on    5:on    6:off
rsyslog
screen-clean 0:off      1:off   2:on    3:on    4:on    5:on    6:off
sendsigs     0:on       6:on
single       1:on
ssh
sudo
udev
umountfs     0:on       6:on
umountroot   0:on       6:on
unattended-u 0:off      6:off
urandom      0:on       6:on    S:on

最後に、すこし遊ぶため”FIGlet”でASCIIアートを表示してみます。

$sudo apt-get install figlet
$figlet CSV Casley!
  ____ ______     __   ____          _            _
 / ___/ ___\ \   / /  / ___|__ _ ___| | ___ _   _| |
| |   \___ \\ \ / /  | |   / _` / __| |/ _ \ | | | |
| |___ ___) |\ V /   | |__| (_| \__ \ |  __/ |_| |_|
 \____|____/  \_/     \____\__,_|___/_|\___|\__, (_)
                                            |___/

最後に

今回は”Bash on Ubuntu on Windows”を使ってみました。またベータ版となっていることもあり、日本語のパスなどについては表示が正常ではないが、VirtualBoxやVMPlayerなどの仮想環境を使用しないでもWindowsでbashが使用できるようになりました。特に、仮想環境ではローカルのファイルにアクセルするのに一手間必要ですが、特に設定を行わなくてもローカルファイルが使用できるので、今後使用する機会がありそうだと感じました。