🐧

【Linux初心者向け】WSL2のインストールからUbuntu22.04へアップグレードまで

2022/07/07に公開

はじめに

2022年7月現在、WSL2をインストールした際にデフォルトで搭載されているOSはUbuntu20.04LTSです。
しかし4月にはUbuntu22.04LTSがリリースされたこともあり、これからWSLを始める方はサポート期間の長い22.04LTS版をはじめから利用できる方が安心です。
偉大な先駆者様たちの功績により、WSL2のインストールやUbuntu22.04へのアップグレードに関する手順が書かれた記事は世の中に数多く存在します。
本記事の内容は目新しいものではありませんが、初めてLinuxに触れる方に向けて書いており、Linuxコマンドの説明やVimの操作に関しても少し触れています。

対象読者

WSLやLinux、CLI操作に不慣れな方

WSL2のインストール

Windows 10 バージョン 2004 以降 (ビルド 19041 以降) または Windows 11 を実行していることが前提となります。これらのWindowsを使用していない場合はWindows Updateを実行しましょう。

まずWindows PowerShellを管理者権限で実行します。

検索ボックスにPowerShellと入力するとサジェストされるため、“管理者として実行する”を押下します。

PowerShellが開いたら次のコマンドを入力してWSL2をインストールします。

PowerShell
wsl --install

Ubuntu22.04LTSの初期設定

WSL2のインストール後、PCを再起動しWindowsを立ち上げるとUbuntu22.04が立ち上がります。

Microsoftからx64 マシン用 WSL2 Linux カーネル更新プログラム パッケージを入手し、インストール後にPCを再起動してください。

最初の起動には少し時間がかかります。
インストールが終わったらEnter new UNIX usernameが表示されたらユーザー名、Enter new UNIX passwordが表示されたらパスワードを設定しましょう。

Ubuntu 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: 
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.

次のコマンドを入力するとUbuntu20.04がインストールされたことを確認できます。

Ubuntu Terminal
cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.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=focal
UBUNTU_CODENAME=focal

初期設定が完了した時点でUbuntu20.04LTSのインストールは完了となります。
ひとまずお疲れ様でした。

catコマンドについて

catコマンドは主にファイルの中身を確認する際に利用するコマンドです。
主にcat -引数 ファイル名のように実行されることが多いです。
今回の例では/etc/os-releaseというファイルの中身を表示しています。
Linuxではディレクトリ(Windowsでいうところのフォルダ)の階層を/で表しており、ルートディレクトリの配下にあるetcディレクトリ配下のos-releaseというファイルを指定しています。

Ubuntu22.04LTSへのアップグレード

おまじない

ubuntuのパッケージの中で最新の情報にインストールできるものを取得します。

Ubuntu Terminal
sudo apt update

取得した情報からアップデート可能なパッケージを最新のものに更新します。

Ubuntu Terminal
sudo apt upgrade -y
sudoについて

super doの略であり、Windowsでいうところの“管理者権限で実行”に相当します。
コマンドの前にひとこと書き加えるだけで何でもできるようになるすごいやつです。

aptコマンドについて

Ubuntuのパッケージを管理するためのコマンドです。
基本的にsudo apt updatesudo apt upgradeは一つのセットとして取り扱われており、“おまじない”とも呼ばれています。
aptコマンドのほかにapt-getコマンドも存在しますが前者は後者の上位互換であるため、基本的にはaptを使えば大丈夫です。
sudo apt upgradeの末尾に-yオプションを書き加えることにより“アップデートしますか?”の文言をスキップできます。

下準備

もっとも新しいUbuntuのリリースを取得します。

Ubuntu Terminal
sudo apt dist-upgrade

Ubuntuのアップグレードを行うためにupdate-manager-coreをインストールします。すでに存在している場合、インストールは行われません。

Ubuntu Terminal
sudo apt install update-manager-core

アップグレードを行う前に設定ファイルを確認します。

Ubuntu Terminal
cat /etc/update-manager/release-upgrades

一番下の行のPromptPrompt=ltsになっていれば問題ありません。

次のコマンドを実行し、/etc/update-manager/release-upgradesの一番下の行のPromptPrompt=ltsに書き換えます。

Ubuntu Terminal
sudo vim /etc/update-manager/release-upgrades
vimの基本操作について

vimはノーマルモードと編集モードの2種類のモードがあり、Windowsでいうところのメモ帳のような操作感での編集はできません。
vimの基本的なコマンドは次の通りです。
i:編集モードに移行
Esc:ノーマルモードに移行
↑←↓→:カーソルの移動
Del:文字の消去(編集モードのみ)
:wq:保存して終了(ノーマルモードのみ)
:q:保存せず終了(ノーマルモードのみ)
:q!:保存せず強制終了(ノーマルモードのみ)

基本的にはiで編集モードに移行し、テキストを書き換えたらEscでノーマルモードへ戻り:wqで保存して終了。といった流れが使いやすいかなと思います。
書き間違えたらとりあえずEscでノーマルモードへ戻り:q!で保存せず強制終了すれば大丈夫です。

Ubuntuのアップグレード

アップグレードの準備が整ったためUbuntuをアップグレードします。

Ubuntu Terminal
sudo do-release-upgrade -d
do-release-upgradeコマンドについて

Ubuntuのアップグレードを行うコマンドです。
最新のLTSへのアップグレードは、そのLTSがリリースされた年の7月まで直接利用できないため、-dオプションをつけることによってコマンドを最新の開発リリースにアップグレードするように強制しています。
7月以降は-dオプションをつけなくてもアップグレードできるそうですが今回は念のためにつけています。

アップグレードには時間がかかります。
途中で何点か確認がありますがyを入力してください。
dを入力した場合は変更内容を確認できます。

シェルの再起動

PowerShellを開き、WSL2を終了します。

PowerShell
wsl --shutdown

その後、再度Ubuntuを再起動し、Ubuntuのバージョンを確認します。

Ubuntu Terminal
cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04 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

PRETTY_NAMEUbuntu 22.04 LTSになっていればアップグレードは成功です。
お疲れ様でした🙌

Discussion