Ubuntu 24.04.3へのupgrade

環境構築
Linux
Author

Ryo Nakagami

Published

2025-08-16

Modified

2025-08-19

22.04 LTSから24.04 LTSへのupgrade備忘録

  • Ubuntu 24.04.3 LTSが2025-08-07にリリースされたので,22.04.4 LTSからアップグレード
  • UbuntuはLTSといっても xx.xx.2 以降を待ったほうが,安定性やセキュリティパッチの恩恵を利用開始時から享受することができる

Ubuntu 22.04 LTSと24.04LTSの変更点

項目 22.04 LTS 24.04 LTS
gnome-shell --versio 42.x 46.x
python3 --version 3.10.x 3.12.x
gcc --version 11.x 13.x
System monitorバー表示 - System Extensionsで設定可能

Ubuntu OS upgradeとトラブルシューティング

Ubuntu OS upgradeの手順

基本的には, 以下の手順で行います

  1. sudo update-manager -cを実行し,Ubuntu の GUI アップデートマネージャ経由で新しいリリースがあるか確認
  2. 表示内容に応じて「OSアップグレード」を実行
  3. アップグレードが完了したら,指示に従い reboot

今回この手順で実行したところエラーが表示されたのでその解決方法を備忘録的に以下にまとめます.

Step 1: パッケージ情報の更新

sudo apt update
sudo apt upgrade

Step 2: OS upgradeの実行と問題の発覚

% sudo update-manager -c
...
Errors were encountered while processing:
 thunderbird-locale-en
 thunderbird-locale-en-us
 thunderbird-locale-ja
 thunderbird-locale-en-gb

上記のコマンドでOSのupgradeを試したところ,thunderbird関連のパッケージが原因でOSアップグレードができないというエラーが発生.

Step 3: 問題パッケージの再確認

apt upgradeapt install 実行中に失敗したDebianパッケージの一覧にthunderbirdは出てくるはずです.

sudo dpkg --configure -a

で何も出力されないのが理想ですが,設定途中に失敗したパッケージがあると一覧として出力されます.

Step 4: thunderbirdのpurge

thunderbirdはあとでもう一回設定しなおせば良いので,apt remove --purgeの実行を決断.

sudo apt remove --purge 'thunderbird*'
sudo apt autoremove
sudo apt clean
  • apt-get purge ではなくて apt remove --purge を用いた理由は対話式で削除パッケージを確認したかったため
  • apt autoremove で不要なパッケージ(メタ情報的に依存関係に組み込まれていないパッケージ)を削除
  • apt clean/var/cache/apt/archives以下にキャッシュされた .deb形式ファイルを削除するコマンド
apt autoremove の注意点

apt autoremove の対象は以下の2つの基準によって抽出されます

  1. manualではなくautoとしてapt-markされている(=インストールが手動ではない)
  2. そのパッケージに対して,手動でインストールされたパッケージが依存していない

たまに使っているけれども auto でインストールされたパッケージがある場合,apt autoremove の候補に上がってきてしまう可能性があるので,事前にどのパッケージが削除されるのか ユーザー自身で確認することが重要です.

自動的にインストールされたパッケージの確認

aptitude search '~i !~M'
パターン 説明
!pattern pattern に一致しないパッケージを選択
~M 自動的にインストールされたパッケージを選択
~i インストールされているパッケージを選択

Step 5: OS upgrade

OSアップグレード中断の原因となったパッケージを除去した後,再度GUIベースでupdate managerを起動し作業を進めます.

sudo update-manager -c

これで晴れて Ubuntu 24.04.3 LTSへのアップグレードが完了.

Upgrade後の対応

X11の有効化

Ubuntu 22.04 LTSの段階から /etc/gdm3/custom.conf にて

[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false

と設定していたので,作業は特段発生しません.セッションがX11かどうかを確認する場合は

echo $XDG_SESSION_TYPE

を実行して,x11 と表示されれば問題ありません.

Waylandを採用しない理由
  • スクリーンレコーダーソフト Kazam が未対応のため

24.04 HWEのインストール

なぜか uname -r で確認するとkernelがまだ 6.8.0-78-generic であったので,24.04 HWEを改めてインストールする

% sudo apt install --install-recommends linux-generic-hwe-24.04

# 依存関係エラーが発生していたなら
% sudo apt --fix-broken install

その後, rebootして以下のようになっていれば問題なしです.

% uname -r
6.14.0-28-generic

古いkernelとパッケージの削除

dpkg -lでシステムにインストール済みのパッケージを確認すると

% dpkg -l | grep linux-generic
ii  linux-generic-hwe-22.04                        6.8.0-65.68~22.04.1                     amd64        Complete Generic Linux kernel and header
ii  linux-generic-hwe-24.04                        6.14.0-28.28~24.04.1                    amd64        Complete Generic Linux kernel and headers

となっていました.linux-generic-hwe-22.04は必要ないので

sudo apt-get purge linux-generic-hwe-22.04

で消し去ります.また合わせて,古いカーネルを sudo apt autoremove などで除去しとします.最後にGRUBの設定(/etc/default/grub)をupdateしときます

sudo update-grub
GRUB
  • GRUB(GRand Unified Bootloader)はLinuxで一般的に使われているブートローダー
  • 複数のOSやカーネルがインストールされている場合は,それらの切り替えを行うことができる
  • 設定ファイルは /etc/default/grub
  • 設定を変更する際は必ずバックアップを取るようにしましょう

/etc/apt/sources.list.d/以下の.listファイルの更新

再設定方針
  • OS upgradeの際に,自動的にjammyからnobleに書き換えてくれますが,ユーザーが設定したパッケージレポジトリ設定は書き換えてくれないので,強引に設定し直します.
  • 基本的には公式インストール手順の内,レポジトリ設定の箇所だけ実行します

Docker Engine

基本的にはgpg keyとかはUbuntuならば共通のものを使っているようだったので,repository updateのみで十分と判断

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

tailscale

curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null\ncurl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list

その他

grep -r "jammy" /etc/apt/sources.list.d/ | egrep -v "distUpgrade:"

で22.04 LTSベースの.listファイルがないかを確認し,必要に応じてrmを実行.

NVIDIA GPU Driverとcuda13.0のupgrade

section

% ubuntu-drivers devices
udevadm hwdb is deprecated. Use systemd-hwdb instead.
...
driver   : nvidia-driver-580-open - third-party non-free recommended

とあったので,

sudo apt install -y nvidia-driver-580-open

cuda toolkit

公式のインストール手順に従い以下を実行

% wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
% sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600
% wget https://developer.download.nvidia.com/compute/cuda/13.0.0/local_installers/cuda-repo-ubuntu2404-13-0-local_13.0.0-580.65.06-1_amd64.deb
% sudo dpkg -i cuda-repo-ubuntu2404-13-0-local_13.0.0-580.65.06-1_amd64.deb
% sudo cp /var/cuda-repo-ubuntu2404-13-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
% sudo apt-get update
% sudo apt-get -y install cuda-toolkit-13-0

reboot後の確認

# GPU driver
% nvidia-smi

# CUDA compiler version
nvcc --version

# pathが通っていない場合
/usr/local/cuda-13.0/bin/nvcc --version
nvidia-smiのcuda version
  • nvidia-smiで出力される CUDA Versionは実際のCUDA versionではなく,対応可能な最大バージョンを示しています
  • インストールされているCUDA versionを確認する場合は nvcc --version を実行する必要があります
% nvidia-smi         
Wed Aug 20 02:15:15 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.65.06              Driver Version: 580.65.06      CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4070        On  |   00000000:01:00.0  On |                  N/A |
|  0%   33C    P5             13W /  215W |    1167MiB /  12282MiB |      4%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

pipx関係パッケージの再インストール

Note
  • DefaultのPython versisonが変化したので基本的にpipxで導入したものは再インストールが必要です
  • pipx uninstallはconfigファイルまでは消去しないので,uninstall→installの手順でOKです

gpustatsの再インストール

## uninstall
% pipx uninstall gpustat

## re-intsall
% pipx install gpustat

## check command
% gpustat

Poetryの再インストール

## uninstall
% pipx uninstall poetry

## re-intsall
% pipx install poetry

## check command
% poetry --versison

## extensionsのre-innstall
% pipx inject poetry poetry-plugin-shell

Docker Desktopの再インストール

問題事象

  • Docker Desktopがうまく起動しない問題が発生

原因調査

Docker自体が死んでいるかどうかをまず調査

% docker run hello-world


Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

% docker --version
Docker version 28.3.3, build 980b856

Docker自体は問題がないと判断し,あくまでdocker-desktopがうまく起動しないとして問題に対処しました.

トラブルシューティング

systemctl --failedsudo journalctl -p err | grep "docker" | less コマンドを実行すると

Failed to start app-gnome-docker

というエラーメッセージが出現していたので,設定ファイルを消さずに再インストールを行います.

sudo apt remove docker-desktop

その後,Docker公式ページが配布しているDebianパッケージをダウンロードして,

sudo apt-get install ./docker-desktop-amd64.deb

を実行すれば終了です.

Appendix: インストール後の .debファイルの取り扱い

.debファイルの取り扱い

プログラムのインストールに必要なファイルをまとめたものが.debファイルなので,インストール後は基本的に削除してしまって問題ありません.

Ubuntuでapt-getを使ってインストールする場合,

  1. /var/cache/apt/archives.debファイルをダウンロード
  2. dpkgコマンドを用いて,プログラムをインストール

という流れになります./var/cache/apt/archives以下は基本的に再インストールしたい場合などを除いて使いみちがないので削除してしまっても問題ありません. rm コマンドを用いるよりかは,

## interactiveに結果を確認したい場合
sudo apt clean

## スクリプトで実行する場合(標準出力が簡素)
sudo apt-get clean

を実行してクリーンすることが推奨されます.

References