はじめに
Ubuntu 22.04 Jammy Jellyfishがリリースされました。
自分はいつも業務PCのWSL2上でUbuntuを入れて作業をしています。
Ubuntuのバージョンは20.04で、直近までLTSだったものです。
色々と自分用にカスタマイズしているので、別バージョンを入れ直すのは面倒だなーと感じてましたが、簡単に直接アップグレードできるとの情報を聞いてやってみました。
注意事項
環境によっては正常に動かないケースもあるかもなので、作業は自己責任でお願いします。
現行バージョン確認
アップグレード前に現状のUbuntuバージョンを見ておきます。
VERSION="20.04.3 LTS (Focal Fossa)"
とあります。
❯ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 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
パッケージアップデート
インストールされているパッケージのアップデートを実施します。
❯ sudo apt update && sudo apt upgrade
(コマンド出力が多いので割愛)
ひたすらアップデートして2分くらいで終わりました。
補足1
アップグレードするのにdist-upgrade
とupdate-manager-core
のパッケージが必要です。
自分の環境ではインストール済だったので作業無しですが、パッケージ入ってない人は下記を実行します。
sudo apt dist-upgrade && sudo apt install update-manager-core
補足2
update-managerの設定を必要に応じて変更する必要があります。
WSLのUbuntuのデフォルトは下記のはずですが、Prompt=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
アップグレード
ようやく(というほど作業してないが)、アップグレードの準備が完了しました。
下記コマンド実行でアップグレードされるので、早速実行します。
❯ 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.
あー、、、さっきパッケージアップデートした後にリブートしてないので怒られました。
wsl上のOSはrebootコマンドとかではリブートできないので、コマンドプロンプトやPowerShellから停止してやります。
↓このコマンドでWSL上のOS名を確認
(コマンドプロンプト or PowerShellから実行)
> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
Legacy Stopped 1
docker-desktop-data Running 2
docker-desktop Running 2
↓ -t
で停止。前述コマンドで確認した名称(ここではUbuntu
)を引数にしている
(コマンドプロンプト or PowerShellから実行)
> wsl -t Ubuntu
再度Ubuntuを起動し、Ubuntuのプロンプトを表示します。
改めて先程実行できなかったコマンドを実行します。
❯ sudo do-release-upgrade -d
今度はアップグレードの処理が進みました。
しばらくすると下記の確認画面が出ました。
Do you want to start the upgrade?
1 installed package is no longer supported by Canonical. You can
still get support from the community.
5 packages are going to be removed. 148 new packages are going to be
installed. 756 packages are going to be upgraded.
You have to download a total of 499 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
等の選択をして処理を進めます。
最終的に処理が完了すると下記の表示が出て完了です。
自分の環境では13分かかりました。
System upgrade is complete.
Restart required
To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.
Continue [yN]
ちなみに、この問に対してy回答しても、WSLなのでちゃんとリブートできません。
表示が切り替わるので自動再起動したか?って思いがちですが、タブ補完が上手く動かない状態だったので、上述のwslコマンドから停止しましょう。
アップグレード後のバージョン確認
アップグレード後のUbuntuバージョンを見てみましょう。
VERSION="22.04 LTS (Jammy Jellyfish)"
となっているので成功ですね!
❯ 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
さいごに
実はwindows機は2台あったので、事前に予習で1台アップグレードしてたのですが、少しインストールしたパッケージが異なっていたのか、アップグレード途中で聞かれる問いの状況が違っていました。(1台目は何も聞かれること無く完了した。)
oh-my-zsh入れてますが、zsh環境もそのまま動いており、今のところ問題となるような動作は出ていません。
みなさまの環境でアップグレードされる際の参考になれば幸いです。
参考にしたサイト等