do-release-upgradeでUbuntu 20.04から22.04にアップグレードする手順

  • Ubuntu
  • Linux

この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。

Ubuntu 20.04 LTSのサーバーを22.04 LTSに上げる機会があったので、手順を残しておく。

現在のバージョンを確認

cat /etc/os-release

VERSION_ID や VERSION_CODENAME でどのバージョンかを見ておく。

アップグレード可能かを確認

-c オプションを付けると、実際にアップグレードはせず確認だけできる。

sudo do-release-upgrade -c
# New release '22.04.1 LTS' available.
# Run 'do-release-upgrade' to upgrade to it.

新しいリリースがあれば上記のように出る。

なお /etc/update-manager/release-upgrades の Prompt の値がここに影響する。Prompt=lts ならLTS同士のアップグレードのみ案内される設定。20.04→22.04はどちらもLTSなので基本この設定のままで問題ない。

事前準備:既存パッケージを最新化する

いきなり do-release-upgrade を叩くと、こう言われることがある。

sudo do-release-upgrade
Please install all available updates for your release before upgrading.

現在のリリースのパッケージが最新でないと弾かれる。なので先にパッケージを更新しておく。

sudo apt update
sudo apt upgrade

パッケージによっては full-upgrade(旧dist-upgrade)まで必要になるケースもある。依存関係の変更を伴う更新がある場合はこちらを使う。

sudo apt full-upgrade

このタイミングでカーネルが更新されることがある。その場合は再起動を挟んでから次に進む。

sudo reboot

アップグレード実行

事前更新が済んだ状態で再度実行する。

sudo do-release-upgrade

ここから先は対話形式で進む。SSH経由の場合は途中で確認のプロンプトが出るので、指示に従って進める(設定ファイルの差分をどうするか、不要になったパッケージを削除するか、など)。完了すると再起動を求められる。

完了確認

再起動後、バージョンが上がっているか確認する。

cat /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

VERSION_ID が 22.04 になっていればOK。

流れまとめ

  1. cat /etc/os-release で現状確認
  2. do-release-upgrade -c でアップグレード可能か確認
  3. apt update → apt upgrade(必要なら full-upgrade) で現行リリースを最新化
  4. カーネル更新があれば reboot
  5. do-release-upgrade を実行、対話に従って進める
  6. 再起動後に /etc/os-release で確認

事前更新をサボると2で止まるので、素直に3から順番にやった方が早い。