WSL2(Windows10、11)にLinuxのUbuntuインストール

WSLはWindows Subsystem for Linuxの略でWSLを利用するとWindows上でLinuxを動かすことができます。
LinuxディストリビューションのUbuntuをインストールするとPython3もインストールされているのでPython3を使ったプログラムの作成も可能です。インストールは下記の手順通りに進めれば難しい箇所も全くなく簡単に完了します。
今回使用したWindows10 Homeでバージョンは1903、OSビルドは18362.295です。Windows11 Homeではバージョンは22H2でOSビルドは22621.1105です。
目次
Ubuntuのインストール
Windowsの機能の有効化(Windows10の場合)
Ubuntuをインストールする前に”Windowsの機能の有効化”からWindows Subsystem for Linux機能を有効にする必要があります。
”Windows機能の有効化”はコントロールパネルから起動することができるので、下記の入力箇所にcontrolと入力してください。最も一致する結果にコントールパネルが表示されクリックするとコントロールパネルを起動することができます。

コントロールパネルが開いたら、左下にあるプログラムをクリックしてください。

プログラムの画面からWindowsの機能の有効化または無効化をクリックしてください。

初期設定ではWindows Subsystem for Linuxのチェックが外れた状態なので、チェックを行ってOKボタンを押してください。

しばらく必要なファイルを検索している等の文字が表示されますが処理が完了すると再起動の確認の画面が表示されます。今すぐ再起動のボタンを押してWindowsの再起動を行います。

Windows11の場合
Windows 11ではwsl –installコマンドを実行してインストールを行います。
> wsl --install
要求された操作には管理者特権が必要です。
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
インストール中: Ubuntu
Ubuntu はインストールされました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
システムの再起動が完了するとスタートメニューからUbuntuが選択できるようになるので起動を行ってください。Windows 11の場合はUbuntuのインストールの項目をスキップしてください。
Ubuntuのインストール
再起動の完了後、Ubuntuをインストールするために Microsoft Storeを起動します。左下の検索でWindows Storeと入力すると Microsoft Storeを起動することができます。

Microsoft Storeが起動するので上部にある検索にUbuntuと入力してください。入力途中にWindowsでLinuxを実行するアプリを入手すると表示されるので表示されたらそれを選択してください。

Linuxのディストリビューションが選択できる画面が表示されるので、左側にあるUbuntuをクリックしてください。

Ubuntuの画面が表示されるので入手ボタンをクリックしてください。

複数のデバイスで利用するかという確認画面が表示されますが、必要ありませんとクリックします。

必要ありませんをクリックするとダウンロードが開始されます。

ダウンロードが完了すると起動ボタンが表示されるので起動ボタンをクリックしてください。

Ubuntuの起動
最初の起動は下記の真っ黒の画面が表示され、Installing. this may taka a few minutesと表示されるので、数分待ちます。

インストールが完了するとユーザ名とパスワードを入力する画面が表示されるので、任意のユーザ名とパスワードを入力してください。ログインしているWindowsのユーザ名とパスワードとは関係ありません。
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: reffect
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
インストールしたUbuntuのバージョンの確認を行います。Windows10で行った時は、バージョンが18.04.2 LTS(Bionic Beaver)であることがわかります。
$ more /etc/os-release
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.2 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
Windows11で実行した場合は下記のバージョンとなります。Windows10とは実行した時期が異なるためです。
$ more /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

パッケージリストの更新を行います。パッケージリストの更新ではアップグレードが必要なパッケージの情報を更新し、リポジトリに新しく登録されたパッケージをリストに登録します。
デフォルトのリポジトリがアメリカのためapt updateに時間がかかるのでリポジトリを日本に変更します。下記のコマンドではリポジトリの情報が記載されているファイルsources.listのバックアップファイルを作成し、archive.ubuntu.comをjp.archive.ubuntu.comに変更しています。
$cd /etc/apt
$sudo sed -i.bak -e "s%http://archive.ubuntu.com/ubuntu/%http://jp.archive.ubuntu.com/ubuntu/%g" sources.list
sources.listファイルを変更後、apt updateコマンドを実行します。
$ sudo apt update
Get:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease [242 kB]
Get:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:3 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Hit:4 http://security.ubuntu.com/ubuntu bionic-security InRelease
・
・
次にapt upgradeコマンドで現在インストールされているパッケージで更新がパッケージの更新を行います。このコマンドを実行する前にはapt updateコマンドを実行し最新情報を取得しておきます。
$ sudo apt upgrade
日本語化設定
日本語化にするためには日本語化パッケージをインストールする必要があります。
$ sudo apt install language-pack-ja
[sudo] password for reffect:
Reading package lists... Done
・
・
Generating locales (this might take a while)...
ja_JP.UTF-8... done
日本語設定をjp_JP.UTF-8に設定します。
$sudo update-locale LANG=ja_JP.UTF-8
言語の設定変更を反映させるために一度exitコマンドでログアウトします。
$ exit
再度wslコマンドでログインします。dateコマンドを実行し日本語が表示されていれば日本語化は成功です。時刻もJSTで日本のタイムゾーンに設定されているのでタイムゾーンの設定変更は必要ありません。
$ date
2019年 8月 21日 水曜日 17:21:48 JST
エクスプローラーでフォルダを開く
Windows側からUbuntu に保存されたデータにアクセスする場合はexplorer.exeコマンドを実行します。
コマンドはUbuntu側で行います。
$ explorer.exe .

実行するとエクスプローラーが起動して、フォルダの中を確認することができます。ユーザのホームディレクトリで実行した場合フォルダのパスは下記となります。
\\wsl$\Ubuntu\home\ユーザ名(インストール時に設定したユーザ名)
rootでのログインとパスワードについて
Ubuntuインストール直後にユーザ名とパスワードを設定しました。管理者権限でコマンドを実行する際はsudo コマンド名で実行することができます。しかしrootユーザに変更したい場合はどのように行えばよいのでしょう。
rootユーザのパスワードは設定していないので、デフォルトではrootユーザでログインすることはできません。sudo su -を実行するとrootユーザに変更することができます。その後passwdコマンドを実行するとrootユーザのパスワードを設定することができます。
$ sudo su -

Ubuntuのログイン、ログアウト
ログインしているUbuntuから抜けるにはexitコマンドやlogoutコマンドで行うことができます。
ログインするためには、コンソールでubuntu.exe、wsl.exe、bash.exeコマンドを実行するとUbuntuに接続することができます。
また、WindowsメニューにUbuntuが追加されているのでWindowsメニューからも接続することができます。