Ubuntu 26.04 講座 / Ubuntu LTS アップグレードの準備と実行

Ubuntu LTS(Long Term Support、長期サポート)リリースのアップグレードは、オペレーティングシステムの世代を変更する作業であり、日常的なパッケージの更新とは異なります。26.04を新規にインストールした場合、この講座を進めるために他のリリースに移行する必要はありません。既存の24.04 LTSなどから移行する際には、公式に提供されるアップグレード経路と復旧手段を確認して進めます。

現在のバージョンと提供されているアップグレード経路を確認する

cat /etc/os-release
uname -r
df -h / /boot
apt-mark showhold
dpkg --audit

LTS間では、隣接する次のLTSへ順番に移行し、複数世代を飛ばすことはありません。実際に提供されるかどうかは、配布側の制御や既知の問題によって異なる場合があるため、対象リリースノートとアップグレーダーの案内を確認します。案内がない場合、リポジトリのコードネームを変更したり、-dオプションで強制することはありません。

Ubuntu Server公式アップグレード案内でサポートされるアップグレード経路と事前条件を確認します。

失敗した場合に戻る基準状態を準備する

  1. 独立したバックアップを作成し、別のVMやディレクトリで復元を試します。実行中のDBやボリュームの一貫性も確認します。
  2. 複製VMでまず移行を試し、固定IPやホスト識別情報が運用サーバーと同時に有効にならないように隔離します。
  3. コンソール・電源・空き容量・作業時間・アプリ互換バージョン・担当者を確認します。SSHが切断されてもコンソールで復旧できるように準備します。
  4. サードパーティのリポジトリと独自変更を記録します。アップグレード中に無効化されたリポジトリは、新しいリリースのサポートを確認し、必要なものだけ再使用します。

スナップショットだけを元に戻すと、外部データベースや他のサーバーとの状態がずれる可能性があります。アップグレード前に戻す範囲と戻せない外部変更を書き、一般的なパッケージのダウングレードでOS全体を戻せると仮定しません。

現在のシステムを正常にアップデートする

sudo apt update
apt-get -s dist-upgrade -o APT::Get::Always-Include-Phased-Updates=true

シミュレーションの削除・保留・依存関係を確認します。このオプションは、日常運用で段階的アップデートを強制的に前倒しする推奨ではなく、リリースアップグレードに必要な更新を確認するためのものです。バックアップと作業時間を確保し、確認結果に問題がないときだけ次を実行します。

sudo apt dist-upgrade -o APT::Get::Always-Include-Phased-Updates=true
test ! -e /run/reboot-required || cat /run/reboot-required

必要な再起動後に既存のリリースで正常に起動し、SSH・ネットワーク・アプリが動作するか確認します。保留中のパッケージや壊れた dpkg の状態は原因を調査し、ロックファイルの削除や無条件の保留解除で回避しません。

提供の有無を確認して対話的に実行します

sudo apt install update-manager-core
grep -E "^Prompt=" /etc/update-manager/release-upgrades
sudo do-release-upgrade -c

LTS のみを追従する計画の場合は Prompt=lts か確認します。異なる場合はファイルをバックアップし、sudoedit で運用方針に従って修正します。-c は提供の有無だけを確認します。新しいリリースがない場合は、該当環境に提供されるまで待つか、別途新規構築とデータ移行を計画します。

sudo do-release-upgrade

このコマンドは準備済みの複製 VM または承認済みの保守作業で実行します。変更リスト・削除予定・設定ファイルの差異を確認し、既存設定の維持と新バージョンの採用をそれぞれ判断します。リモート復旧用の追加ポートを案内されても無制限に公開しません。処理中の強制終了や電源切断を避け、失敗した場合は表示されたエラーと /var/log/dist-upgrade の記録を保持します。

再起動後に実際のサービスまで確認します

完了後、コンソールで新しいリリース・実行中のカーネル・失敗したサービス・ネットワークを確認し、新しいSSH接続・アプリの読み書き・HTTPS・共有・コンテナを対象に応じてテストします。古いパッケージの整理は、復旧用カーネルと業務動作を確認した後に判断します。通常のアップデートとバックアップを再開し、復元テストおよび変更記録を更新して初めて移行が完了します。