【wsl2】20.04.5 LTSから22.04 LTS へアップグレードする

概要

自分のwsl2の環境が20.04.5だったので22系のLTSにアップグレードする手順

現行のバージョンは

cat /etc/os-release                                                                                          
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 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

こんなかんじ

ubuntuの更新

ubuntuにインストールしているものを更新していきます。

パッケージの更新とアップグレード

一旦ubuntuのパッケージを更新してアップグレードまでかけておきます。

sudo apt update && sudo apt upgrade

ディストリビューションのアップグレード

ubuntu自体のアップグレードにはdist-upgrade とupdate-manager-coreのパッケージが必要なので更新とインストールを行います。

sudo apt dist-upgrade && sudo apt install update-manager-core

update-managerの設定確認

WSLのUbuntuのデフォルトのままなら問題ないですがPrompt=ltsになっている確認、なっていなければltsに変更。

sudo cat /etc/update-manager/release-upgrades                                                               
# Default behavior for the release upgrader.

[DEFAULT]
# Default prompting and upgrade behavior, valid options:
#
#  never  - Never check for, or allow upgrading to, a new release.
#  normal - Check to see if a new release is available.  If more than one new
#           release is found, the release upgrader will attempt to upgrade to
#           the supported release that immediately succeeds the
#           currently-running release.
#  lts    - Check to see if a new LTS release is available.  The upgrader
#           will attempt to upgrade to the first LTS release available after
#           the currently-running one.  Note that if this option is used and
#           the currently-running release is not itself an LTS release the
#           upgrader will assume prompt was meant to be normal.
Prompt=lts

ubuntuのアップグレード

上記の手順を行ったらすぐにアップデートできない可能性があります。

sudo do-release-upgrade -d
Checking for a new Ubuntu release
You have not rebooted after updating a package which requires a reboot. Please reboot before upgrading.

のようにでは場合は「PowerShell」シャットダウンを行う

まずはwslのディストリビューションを確認

wsl -l
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-20.04 (既定)
docker-desktop-data
docker-desktop

停止する。

wsl -t Ubuntu-20.04
// 自動で再起動される。

再度実行

sudo do-release-upgrade -d
// ・・・
Some third party entries in your sources.list were disabled. You can
re-enable them after the upgrade with the 'software-properties' tool
or your package manager.

To continue please press [ENTER]
// Enterを押してすすめる

1 installed package is no longer supported by Canonical. You can
still get support from the community.

9 packages are going to be removed. 228 new packages are going to be
installed. 1029 packages are going to be upgraded.

You have to download a total of 703 M. This download will take about
2 minutes with your connection.

Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.

 Continue [yN]  Details [d]
// 問題なければ「y」ですすめる
// 「d」でアップグレードのパッケージが確認できたりするみたいです。

yesで続ける

もしかしたらmysqlなどのサービスが再起動できなかったと出る可能性があります。

「OK」を押した後アップグレードが完了したら、書かれているように「invoke-rc.d <service> start」を実行しましょう。

Processing snap replacements

refreshing snap lxd

Searching for obsolete software
Reading state information... Done

Remove obsolete packages?


163 packages are going to be removed.

Removing the packages can take several hours.

 Continue [yN]  Details [d]
// コンピュータのソフトウェアを更新または削除するためのプロセスを説明
// yですすめる

あるていどしたら完了

System upgrade is complete.

Action required

Exit all other instances of Ubuntu WSL before continuing.

Unsaved progress may otherwise be lost.

To continue please press [ENTER]
// アップグレードが終了して次のアクションとしてUbuntu WSLの他のすべてのインスタンスを終了してください。と書かれています。
// ENTERで続行

WSL restart required

Exit this instance of Ubuntu WSL.

The upgrade will then be complete.

To continue please press [ENTER]
// 再起動が必要を書かれているのでENTERで進める
=== Command detached from window (Thu Oct 26 21:39:02 2023) ===

本当にアップグレードされたのか確認。

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

Ubuntu 22.04.3 LTSになっているので無事にアップグレードできたみたい。

最後にmysqlのサービスを再起動しておく。

sudo invoke-rc.d mysql start

おわりに

wslのubuntuのアップグレードができた。

自分はいろいろカスタマイズしていたので環境を引き継いでアップグレードできるのはありがたい。

コメント