Windows上でPysparkを用いたデータ処理①　～準備：windowsでUbuntuを動かすところまで～

# はじめに
新卒１年目エンジニアでございます。

今回は突然Sparkを用いてデータ処理を行うことになり、
周りがMacPCやVirtualBoxでのLinux環境を使用する中、
なんとかWindowsメインで何とかならないかと試行錯誤した過程の第一弾です。

同じようなことで悩まれている方のお力になれればと思います。
ちなみに、タイトルにある通りLinuxは使用しております。

===
また、この記事はARIのアドベントカレンダの前哨戦として、
ARIの名古屋支社メンバが毎日（土日は除く）投稿していく、
**「12/1までをカウントダウンするアドベントカレンダ」の2日目になります！**

ARIのアドベントカレンダも6日後に始まりますので、
何卒、応援のほどよろしくお願いします♪

https://qiita.com/advent-calendar/2022/ari-group
# 今回の目的：Windows上でLinuxコマンドが使えるようにしたい
やはりLinuxのコマンドを触れる方がよいということで…
当初Windowsだけで何とかならないかと考えていましたが、結局LinuxをWindows上で動かすことで対応しております。
本記事ではWSLを利用したLinuxのインストール手順を記載しています。

[1. 現状の確認](#1-現状の確認)
[2. インストール可能なディストリビューションの確認](#2-インストール可能なディストリビューションの確認)
[3. Linuxディストリビューションのインストール](#3-Linuxディストリビューションのインストール)
[4. インストールされたことの確認](#4-インストールされたことの確認)
[5. ターミナルでの起動](#5-ターミナルでの起動)

https://learn.microsoft.com/ja-jp/windows/wsl/install#change-the-default-linux-distribution-installed

**※うまくいかない場合、こちら ↓ をご参照下さい。**

https://qiita.com/whim0321/items/ed76b490daaec152dc69

### 1. 現状の確認
まず、コマンドプロンプトなどで既にインストールされているディストリビューションがないか確認します。
```terminal
// インストールされているディストリビューションの確認
> wsl -l -v
Linux 用 Windows サブシステムにインストールされているディストリビューションはありません。
```
### 2. インストール可能なディストリビューションの確認
何もインストールされていないことが確認できたので、
インストール可能なディストリビューションの一覧を確認します。
```terminal
// インストール可能なディストリビューションの一覧表示
> wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install <Distro>' を使用してインストー ルします。

NAME               FRIENDLY NAME
Ubuntu             Ubuntu
Debian             Debian GNU/Linux
kali-linux         Kali Linux Rolling
SLES-12            SUSE Linux Enterprise Server v12
SLES-15            SUSE Linux Enterprise Server v15
Ubuntu-18.04       Ubuntu 18.04 LTS
Ubuntu-20.04       Ubuntu 20.04 LTS
OracleLinux_8_5    Oracle Linux 8.5
OracleLinux_7_9    Oracle Linux 7.9
```
### 3. Linuxディストリビューションのインストール
　先程確認した一覧の中から、今回インストールするディストリビューションを選択し、下記コマンドを用いてインストールします。
（今回は特に指定することはないので公式の例に従って「Linux-20.04」を入れることにしました。）
　インストール状況はパーセント表示で確認できるようになっていました。
```terminal
> wsl --install Ubuntu-20.04
インストール中: Ubuntu 20.04 LTS
[==========                18.0%                           ]

↓

> wsl --install Ubuntu-20.04
インストール中: Ubuntu 20.04 LTS
Ubuntu 20.04 LTS はインストールされました。
Ubuntu 20.04 LTS を開始しています...
> 
```
　インストールが完了すると自動的にUbuntuが起動し、下図ようなウィンドウが開くので、Linux用のユーザ名とパスワードを設定します。

```terminal
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: username
New password:
Retype new password:
```
![01_ubuntu_install.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2660549/552e364d-297f-5906-a308-32c6843088bc.png)

![02_ubuntu_install_successfuly.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2660549/5b5829af-5d7c-79f2-7f9e-67227df352db.png)

### 4. インストールされたことの確認
　「Ubuntu-20.04」がインストールされていることが確認できました。

![03_ubuntu_install_confirm.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2660549/ebf0c7b5-0440-094d-83c9-9f5f89b25012.png)

### 5. ターミナルでの起動
　上図から使用していますが、今後はタブで複数Power ShellやUbuntuなどを切り替えられるため、Wondowsアプリの「ターミナル（旧 Windows Terminal）」を採用しました。

https://learn.microsoft.com/ja-jp/windows/terminal/

↓ タブ欄`+`よこの`v`をクリックすると使用できるshellの一覧が表示されるので、
　今回はUbuntu-20.04を使用します。
![04_select.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2660549/84f893fe-8b92-2d7d-42e1-0ce8829a0484.png)

![05_open_ubuntu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2660549/907d9bd7-6a7e-150d-a463-0215a1e07a6b.png)

↓ 無事、Linuxコマンドを実行することができました。
```terminal:ターミナル：Ubuntu-20.04
$> pwd
/home/username
```
:::note
基本的にLinux用のディレクトリが作成されhomeディレクトリが設定されていますが、
`/mnt/c/...`でwindowsの`C:\...`を参照することができます。
:::

# おわりに

最後まで読んでいただきありがとうございます。

今回はWSLを利用したLinuxのインストール手順をまとめました。
少しでも参考になると幸いです。

次回はDockerについて触れていく予定です。
ありがとうございました。