Ubuntu の OSのバージョンを上げる(do-release-upgrade)

メモ:  Category:ubuntu

セキュリティー対策のためや新しいアプリケーションのために OS のバージョンを上げていきたいと思います。 導入したパッケージによって、アップグレード時の作業が変わるようですが、いったんまとめてみたいと思います。

事前準備

最初に現在のバージョンとアップグレード可能なバージョンを確認します。

現在のバージョンは、次のように確認します。

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

次にアップグレード可能なバージョンを確認します。

~$ sudo do-release-upgrade -c
[sudo] password for hoge:
Checking for a new Ubuntu release
New release '24.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

今回の環境は、 22.04.5 LTS から 24.04.2 LTS へアップグレードすることになります。

この例では、1 回の更新で最新バージョンへ更新できますが、しばらく更新していなかった場合などではアップグレード作業が複数回必要になるので、順に do-release-upgrade を実行することになります。(20.04 LTS → 22.04 LTS → 24.04 LTS)

アップグレード前には、インストール済みのパッケージを全て更新しておく必要があります。事前に既存環境のパッケージを更新しておきます。

~$ sudo apt update
~$ sudo apt upgrade

念のため、不要なパッケージやキャッシュされている不要な deb ファイルを削除します。

~$ sudo apt autoremove -y
~$ sudo apt autoclean -y

ここまでで、事前準備が完了したのでリブートしておきます。

~$ sudo reboot

Ubuntu の OS バージョンを上げる

それでは、 OS を更新するコマンドを実行ていきたいところですが、 SSH 接続で実行したところ途中で「SSH による作業は推奨しないけど続行しますか?」と聞かれました。

以前、 SSH 接続で更新作業をしてハマったことがあるので、直接コンソールで実行したほうがよさそうです。

では、次のコマンドを実行して OS のバージョンを上げていきます。

~$ sudo do-release-upgrade
[sudo] password for hoge:
Checking for a new Ubuntu release

= Welcome to Ubuntu 24.04 LTS 'Noble Numbat' =
.....
...
Continue [yN]

「y」と入力し、実行します。

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

 Continue [yN]   Details [d]

更新には時間がかかりますが、問題なければ「y」と入力します。

実行途中に次のようなキーボードレイアウトの選択画面が表示されたので、日本語環境のレイアウトを選択して作業を進めます。

キーボードレイアウトの選択
Remove obsolete packages?

102 packages are going to be removed.

Remove the packages can take several hours.

 Continue [yN]  Details [d]

使用されなくなったパッケージの削除について聞かれるので、念のため「d」を入力し詳細を確認しました。(「:」+「Q」で抜けれます。)

更新完了メッセージが出力され、再起動を要求されるので「y」を入力します。

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]

何事もなければ、バージョンアップ完了です。

バージョンが上がったか確認します。

~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
VERSION_CODENAME=noble
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=noble
LOGO=ubuntu-logo

VERSION が 24.04 になっていますので、更新作業が完了しました。

SSH 接続で実行したときに表示されるメッセージ

SSH 接続で do-release-upgrade を実行すると、次のようなメッセージが表示されます。

SSH 接続での作業は、非推奨なようですので更新作業を行う環境は検討する必要があります。

Reading cache

Checking package manager

Continue running under SSH?

This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.

If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?

Continue [yN]

bluenote by BBB