UbuntuをLTSバージョンにアップグレードする手順【do-release-upgrade】

インストール

Ubuntuを最新のLTSバージョンにアップグレードしたいけれど、「コマンドが分からない」「途中でサーバーが壊れないか心配」という方は多いはずです。結論から言うと、do-release-upgrade コマンド1本で安全にアップグレードできます。

本記事では、Ubuntu 22.04 LTS から 24.04 LTS へのアップグレード手順を、実際にDockerコンテナで動かして確認した実測データとともに解説します。

この記事のポイント

  • do-release-upgrade コマンドでLTSからLTSへ安全にアップグレードできる
  • 事前に apt update && apt upgrade を実行しておくことが必須
  • 設定ファイル /etc/update-manager/release-upgradesPrompt=lts がデフォルトで正しい設定
  • SSHで接続しているVPSのアップグレードには -m server オプションが推奨
  • ubuntu-release-upgrader-core のバージョンは Ubuntu 22.04 で 1:22.04.20(実測)

目次

  1. Ubuntu LTS アップグレードの概要
  2. アップグレード前の準備
  3. update-manager-core をインストールする
  4. 設定ファイルを確認する
  5. do-release-upgrade を実行する
  6. アップグレード完了後の確認
  7. よくあるエラーと解決策
  8. まとめ

Ubuntu LTS アップグレードの概要

Ubuntuには2年ごとにリリースされるLTS(Long Term Support)バージョンがあります。LTSは5年間のセキュリティアップデートが保証されているため、サーバーや安定運用が必要な環境では必ずLTSを選ぶのが鉄則です。

LTS間のアップグレードは「クリーンインストール」ではなく、既存の設定・データを保持したまま上位バージョンに移行できる点が重要です。これを担うのが do-release-upgrade コマンドです。

Ubuntu LTS アップグレードパス一覧
Ubuntu LTS アップグレードパス一覧

現在のLTSリリースとアップグレードパスは上の表のとおりです。2026年6月時点で最新のLTSは Ubuntu 24.04(Noble Numbat)です。Ubuntu 22.04 を使っている方は、このまま読み進めてください。

注意

本記事のコマンドは Ubuntu 22.04 LTS から 24.04 LTS へのアップグレードを前提に、Docker公式イメージで実測検証しています。20.04 → 22.04 の手順も基本的に同じですが、パッケージのバージョン番号が異なります。

アップグレード前の準備

アップグレードを始める前に、現在のシステムを最新の状態にしておきます。これを怠ると、アップグレード途中でパッケージの依存関係が壊れる原因になります。

手順1:現在のバージョンを確認する

まず lsb_release -a で現在のUbuntuバージョンを確認します。




ubuntu@vps: ~
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy

DescriptionUbuntu 22.04.5 LTSCodenamejammy と表示されていれば、Ubuntu 22.04 LTS で動いています。

手順2:パッケージを最新状態にする

アップグレード前に既存パッケージをすべて最新に更新します。このステップは必須です。




ubuntu@vps: ~
$ sudo apt update && sudo apt upgrade -y
Hit:1 http://jp.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://jp.archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Reading package lists… Done
Building dependency tree… Done
0 upgraded, 0 newly installed, 0 to remove and 0 not changed.

「0 upgraded」になれば、すべてのパッケージが最新の状態です。まだ更新があった場合は、sudo apt autoremove も実行してから次へ進んでください。

アップグレード前の確認コマンド群の実行例
アップグレード前の確認コマンド群の実行例

update-manager-core をインストールする

do-release-upgrade コマンドを使うには update-manager-core パッケージが必要です。デスクトップ版Ubuntuには最初から入っていますが、サーバー版(ubuntu-server)では別途インストールが必要な場合があります。




ubuntu@vps: ~
$ sudo apt install -y update-manager-core
Reading package lists… Done
The following additional packages will be installed:
python3-distupgrade ubuntu-release-upgrader-core
Setting up python3-distupgrade (1:22.04.20) …
Setting up ubuntu-release-upgrader-core (1:22.04.20) …
Setting up update-manager-core (1:22.04.22) …
$ do-release-upgrade –version
do-release-upgrade: version 22.04.20

実際にDockerコンテナ(ubuntu:22.04)で実行したところ、ubuntu-release-upgrader-core 1:22.04.20 がインストールされ、do-release-upgrade コマンドが使えるようになりました。

update-manager-core のインストールログ(Ubuntu 22.04、実測)
update-manager-core のインストールログ(Ubuntu 22.04、実測)
パッケージ名 Ubuntu 22.04 のバージョン(実測) Ubuntu 24.04 のバージョン(実測)
update-manager-core 1:22.04.22 1:24.04.12
ubuntu-release-upgrader-core 1:22.04.20 1:24.04.28

docker run –rm ubuntu:22.04 と ubuntu:24.04 で実測した結果です。各バージョンで専用のアップグレードツールが用意されているのが分かります。

設定ファイルを確認する

アップグレードの挙動は /etc/update-manager/release-upgrades ファイルで制御されています。




ubuntu@vps: ~
$ cat /etc/update-manager/release-upgrades
# Default behavior for the release upgrader.

[DEFAULT]
# never – Never check for, or allow upgrading to, a new release.
# normal – Check to see if a new release is available.
# lts – Check to see if a new LTS release is available.
Prompt=lts

Prompt=lts(デフォルト)は「次のLTSリリースにのみアップグレードする」という設定です。実際にDockerコンテナで確認したところ、Ubuntu 22.04 の update-manager-core インストール後にこの設定が自動で作成されました。この設定のままで問題ありません

/etc/update-manager/release-upgrades の設定内容(実測)
/etc/update-manager/release-upgrades の設定内容(実測)
Promptの値 動作 用途
lts(デフォルト) 次のLTS版にのみアップグレード 本番・安定重視
normal 次のリリース(LTS以外も含む)にアップグレード 最新機能を優先したい場合
never アップグレードしない バージョン固定

do-release-upgrade を実行する

準備が整ったら、いよいよアップグレードを実行します。

VPS・SSH接続環境での注意

SSH越しにVPSをアップグレードする場合は -m server オプションを必ずつけてください。このオプションを使うと、アップグレード中に別のSSHポート(デフォルト:1022)が追加で開かれ、接続が切れても再接続できるようになります。

手順3:do-release-upgrade を実行する




ubuntu@vps: ~
$ sudo do-release-upgrade
Checking for a new Ubuntu release
Get:1 http://changelogs.ubuntu.com/meta-release-lts

New release ‘24.04 LTS’ available.
Run ‘do-release-upgrade’ to upgrade to it.

Fetching and installing the upgrade can take several hours.
Once the download has finished, the process cannot be cancelled.

Continue [yN] Details [d]

New release '24.04 LTS' available.」と表示されれば、アップグレード先が正しく認識されています。y を入力してEnterを押すとアップグレードが開始します。

do-release-upgrade の実行画面(再現UI)
do-release-upgrade の実行画面(再現UI)
著者アイコン
著者アイコン

アップグレード中はパッケージのダウンロードと再インストールが行われます。回線速度によりますが、VPSで30分〜1時間ほどかかることがあります。途中でSSH接続が切れても大丈夫なよう、screentmux でセッションを保持しておくと安心です。

do-release-upgrade の主なオプション

do-release-upgrade --help の出力(Ubuntu 22.04、実測)
do-release-upgrade –help の出力(Ubuntu 22.04、実測)
オプション 説明 使いどき
(なし) インタラクティブなアップグレード デスクトップ、通常のSSH接続
-m server サーバーモードでアップグレード(再接続用ポート追加) VPS・リモートサーバー推奨
-c アップグレード可否の確認のみ(実行しない) 事前チェックに
-d 開発版(次期リリース)へのアップグレード テスト環境のみ

アップグレード完了後の確認

アップグレードが完了してシステムを再起動したら、バージョンが正しく変わったか確認します。

手順4:バージョンを確認する




ubuntu@vps: ~
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
$ uname -r
6.8.0-57-generic
$ cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME=”Ubuntu 24.04.1 LTS”

Description: Ubuntu 24.04.1 LTSCodename: noble が表示されれば、アップグレード成功です。

アップグレード完了後のバージョン確認(再現UI)
アップグレード完了後のバージョン確認(再現UI)
Ubuntu 22.04 vs 24.04 アップグレードツールバージョン比較(実測)
Ubuntu 22.04 vs 24.04 アップグレードツールバージョン比較(実測)

よくあるエラーと解決策

①「No new release found」と表示される

アップグレード先のLTSが見つからない場合に出るエラーです。次の点を確認してください。




ubuntu@vps: ~
$ sudo do-release-upgrade
Checking for a new Ubuntu release
No new release found.

原因と解決策:

  • /etc/update-manager/release-upgradesPromptnever になっている → lts に変更する
  • ネットワークの問題で changelogs.ubuntu.com に接続できない → ping changelogs.ubuntu.com で疎通確認
  • Ubuntu 24.04 がリリース直後でまだ配信されていない場合 → 数週間待つか -d オプションを使う(非推奨)

②「could not calculate the upgrade」が出る

パッケージの依存関係に問題がある場合に出ます。アップグレード前に sudo apt autoremove && sudo apt autoclean を実行して環境をクリーンアップしてから再試行してください。

③ SSH接続が途切れてアップグレードが止まった

最初から -m server オプションを付けておくのが最善の予防策です。万が一切れた場合は、再度SSHで接続し screen -rtmux attach でセッションを復元します。

④ 設定ファイルの変更を確認するプロンプトが大量に出る

アップグレード中に「設定ファイルが変更されています。どうしますか?」というプロンプトが繰り返し出ることがあります。迷ったら keep the local version(現在の設定を維持)を選ぶのが安全です。nginx や Apache の設定は既存のものを保持しておき、アップグレード後に手動で確認するのがおすすめです。

まとめ

Ubuntu LTS のバージョンアップグレード手順をまとめます。

手順まとめ

  • 事前に sudo apt update && sudo apt upgrade -y でパッケージを最新化する
  • sudo apt install -y update-manager-core でアップグレードツールを準備する
  • /etc/update-manager/release-upgradesPrompt=lts を確認する(デフォルトでOK)
  • VPS・SSH環境では sudo do-release-upgrade -m server で実行する
  • 完了後に lsb_release -a でバージョンを確認する

実際にDockerコンテナ(ubuntu:22.04)で確認したところ、update-manager-core 1:22.04.22ubuntu-release-upgrader-core 1:22.04.20 がインストールされ、do-release-upgrade コマンドが正常に動作することを確認しました。手順通りに進めれば、コマンド1本でLTS間の安全なアップグレードが行えます。

VPSで本格的にUbuntuサーバーを運用したい方は、各社の比較記事も参考にしてみてください。

コメント

タイトルとURLをコピーしました