【WSL】Windows Subsystem for Linux のUbuntu環境構築時のメモ

#はじめに
- [公式サイト](https://docs.microsoft.com/ja-jp/windows/wsl/install-win10)をベースにして構築しました。
- Ubuntu18.04をインストールします。

#環境
OS：Windows 10 pro
CPU：Core i5 2.7GB
メモリ：8GB

#Windows Subsystem for Linux のインストール

- PowerShellを管理者権限で起動。以下コマンドを実行

```powershell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
```

- PCを再起動する

# Ubuntu18.04をインストールする

- 以下の手段が有るようです。
    1. [Microsoft Store からダウンロードしてインストールする](https://docs.microsoft.com/ja-jp/windows/wsl/install-win10#windows-10-fall-creators-update-and-later-install-from-the-microsoft-store)
    2. [コマンド ライン/スクリプトからダウンロードしてインストールする](https://docs.microsoft.com/ja-jp/windows/wsl/install-manual)
    3. [ダウンロードして手動で展開し、インストールする](https://docs.microsoft.com/ja-jp/windows/wsl/install-on-server)

- 今回は、上記2のコマンドラインからダウンロードしてインストール手段を採用しました。
- 2020/4/14時点だと以下ディストリビューションが用意されてました。
    - Ubuntu 18.04
    - Ubuntu 18.04 ARM
    - Ubuntu 16.04
    - Debian GNU/Linux
    - Kali Linux
    - OpenSUSE Leap 42
    - SUSE Linux Enterprise Server 12
    - WSL のための Fedora リミックス

- 今回は、Ubuntu 18.04をインストールします。
- ダウンロードしたいディストリビューションのURLをコピーします。
    - 対象のディストリビューションのリンクを右クリック、[リンクのアドレスをコピー]を選択します。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235774/8bc060cb-005e-3f20-3be6-c057456bc7ec.png)


- PowerShell を起動します。
- 任意のディレクトリに移動します。私は、C:\Dev に移動しました。

```powershell
cd C:\Dev
```

- コマンドは、Invoke-WebRequest コマンドレットを使用します。` -Uri `　に前述のダウンロードしたいディストリビューションのURLを指定します。
- Ubuntu 18.04の場合、以下のコマンドとなります。

```powershell
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile Ubuntu.appx -UseBasicParsing
```

- 私の環境では、2～3分かかりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235774/1daa315c-6870-3e93-d875-bdda9f559ca1.png)

- 以下、C:\Dev にディストリビューションがダウンロードされました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235774/8ce69b5b-78f9-9edc-b94d-3df2ec647d58.png)

- 以下コマンドでインストールします。
- ダウンロードしたファイル名 Ubuntu.appx を指定します。

```powershell
Add-AppxPackage .\Ubuntu.appx
```

#Ubuntu18.04の起動

- インストールが完了したので、Windowsキーを押下してみます。
- 以下の様に、Ubuntu18.04が追加されていることが確認できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235774/d3c51843-4a99-b52a-2c58-9f433ab808a5.png)

- クリックして起動します。
- ターミナルが起動しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235774/4d03750f-96d1-823e-fec1-679ae8225f5f.png)

- ユーザ情報を求められたので、ユーザ名とパスワードを設定します。　このユーザアカウントは通常ユーザとなります。任意のユーザ名、パスワードを選択してください。
- ちなみにこの例では、ユーザ名は以下としました。
    - ユーザ名：user1
    - パスワード：(任意のパスワード)
- 管理者権限で実行する際は、 sudo で権限昇格します。求められるパスワードは上記で設定したパスワードとなります。

- ユーザ情報の設定が済むと以下画面キャプチャの通りとなります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235774/1fbb6343-2f6e-30d6-fd22-3d8ed9671341.png)

- 公式サイトで勧められているように、ログイン後は理由が無ければ、速やかにパッケージの更新とアップデートを行います。
- この例ですと、Ubuntuなので、以下コマンドを実行して更新とアップデートをしました。

```shell-session
sudo apt update && sudo apt upgrade
```

- 私の環境では5分くらいかかって以下の画面が起動しました。
- 「パッケージのアップグレード中に質問無しで再起動を行っても良いか？」と聞かれているので、私は Yes を選択しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235774/55593567-38cc-ab90-94ac-86bbe979e085.png)

- まだまだ処理中です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235774/e2735da7-5078-2a89-5439-76f3a79b0946.png)

- トータルで15分くらいかかりましたが、更新処理が終了しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235774/04d63615-8257-fcb6-b696-4cb0115cfa41.png)

- 以上でWindows Subsystem for Linux のUbuntu環境構築は完了しました。

#Windows Subsystem for Linuxのディレクトリへのアクセス
- Windows Subsystem for Linux とホストのWindowsは同じディレクトリを参照できます。
- 具体的に言及するとWindowsから `\\wsl$`へエクスプローラでアクセスすると、上記でインストールしたUbuntsのディレクトリを参照できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235774/1799cd58-c690-0f0a-f5e5-251f125241b2.png)

#WSLのOSを再起動するには
- ターミナルにて、Shutdown reboot コマンドは使用できません。
- Windowsホストのコマンドプロンプトにて以下コマンドを実行します。

```
REM Ubuntu-16.04を再起動する
wsl -t Ubuntu-16.04
```