Windows Subsystem for Linuxをインストールしてみよう!

  • 1008
    Like
  • 7
    Comment

はじめに

日本時間の8月3日から提供が開始されたWindows 10のAnniversary Updateで、ついにBashがやってきました。

これでいろいろなストレスから解放されるはず。さっそくインストールして、使ってみましょう!

2017/11/02追記
Windows 10 Fall Creators Updateにおいてインストール作業が簡略化されました。
また、名称も「Bash on Ubuntu on Windows」から「Windows Subsystem for Linux」に変更されています。
旧バージョンをお使いの方にもわかるようにその都度注釈を入れていきます。

インストール

機能の有効化

まず、Windows側でLinux Subsystemを有効化する必要がありあす。

スタートボタンを右クリックして、アプリと機能をクリックします。

app_and_feature.png

さらに、右上にあるプログラムと機能をクリックします。

program_and_feature.png

左側の一覧から、Windowsの機能の有効化または無効化をクリックします。

ubuntu02.png

Windows Subsystem for Linux (Beta)を探し、チェックを入れます。

注意) Fall Creators UpdateではBetaが取れています。

ubuntu03.png

インストールが始まるので、終わるまで待ちます。終わったら再起動してください。

ubuntu04.png

ubuntu05.png

開発者モードの有効化 (Fall Creators Updateでは不要)

再起動したらスタートメニューから「設定」→「更新とセキュリティ」と進み、
左側のメニューから開発者向けを選択して開発者モードにチェックを入れます。

ubuntu06.png

注意書が出ますが、そのまま進めましょう。

ubuntu07.png

bashのインストール (Fall Creators Update以降)

古いWSL環境の削除

もしCreators Update等から環境を引き継いでいる場合、安全のために古いWSL環境を削除しておきます。

まずコマンドプロンプトまたはPowerShellを開き、次のコマンドを入力して削除します。
このとき全てのデータが消えますので、必要なデータはバックアップを取得してから行ってください。
以下に実行例を示します。

> lxrun /uninstall
警告: lxrun.exe は、Linux ディストリビューションのためにレガシ Windows サブシステムを構成するだけに使用されます。
ディストリビューションは次の Windows ストアを訪問してインストールすることができます:
https://aka.ms/wslstore

これにより Windows 上の Ubuntu がアンインストールされます。
Ubuntu 環境および次の項目を除くすべての変更内容と新しいアプリケーションが削除されます。

C:\Users\USERNAME\AppData\Local\lxss\home
C:\Users\USERNAME\AppData\Local\lxss
oot

続行するには、"y" を入力してください: y
アンインストールしています...

ストアからWSLをインストール

続いてMicrosoft Storeをスタートから探して開きます。
そして、右上の検索窓でUbuntuと検索します。

wsl04.PNG

検索に引っかかってきたUbuntuをクリックします。

wsl05.PNG

最後に入手ボタンをクリックします。

wsl06.PNG

インストール作業が終わったら、スタートに追加されるUbuntuを起動して、インストールの完了を待ちます。
完了すると、内部で使用するユーザー名とパスワードの設定を求められるので、プロンプトに従って入力します。
なお、パスワードは入力しても表示されませんので、正確に入力してください。

wsl07.PNG

bashのインストール (Fall Creators Update以前)

ここまで終わったらコマンドプロンプトを起動し、bashコマンドを入力します。

ubuntu08.png

注意書が出ますので、yを入力して次へ進みます。

ubuntu09.png

インストールが完了すると、ユーザーの作成に移ります。

まず任意のユーザー名を入力してEnterキーを押します。

続いてパスワードを入力します。
このとき、セキュリティ上の都合で画面には何も表示されませんが、
ちゃんと入力されていますので間違いなく入力してからEnterキーを押してください。
確認のためもう一度入力を求められるのでこちらも同様にしてください。

ubuntu10.png

これでインストールは完了です。

初期設定

このままではちょっと不便なところがあるので、さくっと初期設定してしまいます。

ホスト名の明記

sudoが毎度毎度警告を出してくるのでちゃんと書いてあげます。

sudo sh -c 'echo 127.0.1.1 $(hostname) >> /etc/hosts'

2017/05/12追記
この作業はCreators Updateが適用された環境では不要になっています。

リポジトリの変更

デフォルトでは海外サーバーにリポジトリのデータを取りに行ってしまいます。
これだと通信速度が遅くなってしまうので、日本のサーバーに切り替えます。
次のコマンドを入力して、切り替えてください。

sudo sed -i -e 's%http://.*.ubuntu.com%http://ftp.jaist.ac.jp/pub/Linux%g' /etc/apt/sources.list

パッケージのアップデート

あくまでLinuxが乗っかっているので、パッケージのアップデートも日々行ってください。
コマンドはいつも通りですが、紹介します。

sudo apt update
sudo apt upgrade

諸注意

まだ若干不安定で、aptコマンドの進捗バーがちらついたりなど
色々おかしくなることがありますが、温かい目で見守っていきましょう。

たまに描画がストップして、固まったようになってしまうことがありますが、
こうなった場合は一度Enterキーを押してあげると治りますので試してみてください。

それではLinuxな世界を、楽しみましょう!

アンインストール

なんか環境がぐちゃぐちゃになってやり直したくなったら以下の通りにすると再インストールできます。
管理者権限でcmdを立ち上げて実行してください。

lxrun /uninstall /full
lxrun /install

試してみたもの

色々インストールして動かしてみましたが、これぐらいは使えそうだったと言うことを紹介いたします。

Vim

言わずもがな。

sudo apt install vim-nox

Git

これもOK

sudo apt install git

wget/curl

デフォルトでインストールされていました。バッチリ動作。

LaTeX

意外と大丈夫だった。途中で失敗したりしたけど、
もう一回同じコマンドを入力したらちゃんとインストールできた。
(ちょっと怖い)

sudo apt install texlive-full

GCC

これがやりたかったんですよ~

sudo apt install build-essential

zsh

ちゃんと動くと言えば動く。ただしchshは効かない。

sudo apt install zsh
cash -s /bin/zsh

PowerShell or コマンドプロンプトでbashを起動するときに引数をつけてあげればいいみたい。
元々のショートカットの方でも同様にしておけばZshで起動可能。

bash -c "exec /bin/zsh"

pyenv(anyenv)

中途半端に日本語化していたせいでこけてしまった。
localeを編集して適用すればOK。
anyenvとpyenvのインストールは省略。
ただしログインに時間がかかるようになるので注意。

sudo vim /etc/locale.gen
(ja_JP.UTF-8のコメントを外す)
sudo locale-gen
pyenv install 3.5.2

GHC(Haskell)

Creators Updateにて動作することを確認。
しかしghcやghciやrunghcの起動にいちいち2分ぐらいかかる。
起動してしまえばそれなりの速度で動くことは確認出来た。

sudo apt install ghc

Oracle Java

PPAから入れてみた。Anniversary updateでは動かなかったが、Creators Updateでは動作した。

sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer

Scala

Creators UpdateでJava(というかJVM)が動くようになったので入れてみた。
あっさり動作してしまった。


また確認できたら追記します。