2026年8月14日
Linuxをインストールしたら最初にやっておいた方が良いことの一つ。それはパッケージをすべて最新版にしておくこと(セキュリティの観点&バグ修正の観点により)。
というわけで、今回はUbuntuのパッケージをアップデートしてみます。
OSは、長期サポートのLTSの最新版を保ったまま、その版で可能なパッケージのアップデートを行います。
1. 現在のOSバージョンでの更新情報を確認する
まず、「apt update」で現在のOSバージョンでのパッケージ更新情報を確認します。
Ubuntuのパッケージリポジトリ(ソフトウェア配布サーバー)と容量が分かります。
minyaneko@Ubuntu:~$ sudo apt update
Get:1 http://archive.ubuntu.com/ubuntu resolute InRelease [136 kB]
Get:2 http://security.ubuntu.com/ubuntu resolute-security InRelease [137 kB]
Get:3 http://archive.ubuntu.com/ubuntu resolute-updates InRelease [137 kB]
(中略)
Get:59 http://archive.ubuntu.com/ubuntu resolute-backports/multiverse amd64 c-n-f Metadata [120 B]
Fetched 33.3 MB in 7s (4494 kB/s)
96 packages can be upgraded. Run 'apt list --upgradable' to see them.
minyaneko@Ubuntu:~$
各パッケージの現バージョンとアップデート後のバージョンは「apt list –upgradable」で確認します。
minyaneko@Ubuntu:~$ apt list --upgradable
apport-core-dump-handler/resolute-updates 2.34.1-0ubuntu0.1 all [upgradable from: 2.34.0-0ubuntu2]
apport/resolute-updates 2.34.1-0ubuntu0.1 all [upgradable from: 2.34.0-0ubuntu2]
at-spi2-common/resolute-updates 2.60.4-0ubuntu0.1 all [upgradable from: 2.60.0-1]
(中略)
wsl-setup/resolute-updates 0.6.3ubuntu~26.04.1 amd64 [upgradable from: 0.6.2ubuntu]
xxd/resolute-updates,resolute-security 2:9.1.2141-1ubuntu4.7 amd64 [upgradable from: 2:9.1.2141-1ubuntu4]
2. すべてのパッケージを最新にする
それでは「apt full-upgrade -y」で、現在のOSのバージョン内で、すべてのパッケージを最新にします。
ちなみにパッケージを最新にするコマンドは2つあって、大まかに以下のような違いがあります。
full-upgrade パッケージの依存関係が変更になる場合、依存関係先のパッケージもまとめてアップグレードする
upgrgade パッケージの依存関係が変更になる場合はアップグレードしない
何かアプリケーションを構築していて、むやみにアップグレードしたくない時はupgradeの方が良いかもしれませんが、ここではfull-upgradeを行います。
-yオプションで、確認なしに行っていきます。
minyaneko@Ubuntu:~$ sudo apt full-upgrade -y
Upgrading:
apport libcups2t64 libpython3.14 python3-urllib3
apport-core-dump-handler libcurl3t64-gnutls libpython3.14-minimal python3.14
at-spi2-common libcurl4t64 libpython3.14-stdlib python3.14-gdbm
(中略)
libc6 libperl5.40 python3-twisted xxd
Summary:
Upgrading: 96, Installing: 0, Removing: 0, Not Upgrading: 0
71 standard LTS security updates
Download size: 103 MB
Freed space: 432 kB
Get:1 http://archive.ubuntu.com/ubuntu resolute-updates/main amd64 motd-news-config all 14ubuntu6.1 [5632 B]
Get:2 http://archive.ubuntu.com/ubuntu resolute-updates/main amd64 libc-gconv-modules-extra amd64 2.43-2ubuntu2.3 [1362 kB]
Get:3 http://archive.ubuntu.com/ubuntu resolute-updates/main amd64 libc6 amd64 2.43-2ubuntu2.3 [2103 kB]
(中略)
Get:96 http://archive.ubuntu.com/ubuntu resolute-updates/main amd64 ubuntu-wsl amd64 1.570.2 [8518 B]
Fetched 103 MB in 21s (4875 kB/s)
Extracting templates from packages: 100%
Preconfiguring packages ...
(Reading database ... 35923 files and directories currently installed.)
Preparing to unpack .../motd-news-config_14ubuntu6.1_all.deb ...
Unpacking motd-news-config (14ubuntu6.1) over (14ubuntu6) ...
(中略)
Setting up libgnutls30t64:amd64 (3.8.12-2ubuntu1.1) ...
(中略)
Processing triggers for systemd (259.5-0ubuntu3) ...
Failed to get properties: Transport endpoint is not connected
Failed to connect to system scope bus via local transport: Connection refused
Processing triggers for man-db (2.13.1-1build1) ...
Processing triggers for dbus (1.16.2-2ubuntu4) ...
(中略)
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
minyaneko@Ubuntu:~$
あれ?何かFailedになってますね?
「Failed to connect to system scope bus via local transport: Connection refused」とは、systemd(またはDBus)に接続しようとしたが、接続できなかった、という意味のようです。
WSLでは起動直後やアップグレード中に一時的にDBusへ接続できず、このメッセージが出ることがあるようです。
念のため、systemdやDBusが動いているか確認しましょう。
minyaneko@Ubuntu:~$ ps -p 1 -o comm=
systemd
minyaneko@Ubuntu:~$ systemctl is-system-running
running
minyaneko@Ubuntu:~$ systemctl status dbus --no-pager
● dbus.service - D-Bus System Message Bus
Loaded: loaded (/usr/lib/systemd/system/dbus.service; static)
Active: active (running) since Wed 2026-08-05 20:40:17 JST; 1h 54min ago
Invocation: f6ce0df97e3f4034af033857a8b6a14f
TriggeredBy: ● dbus.socket
Docs: man:dbus-daemon(1)
Main PID: 148 (dbus-daemon)
Tasks: 1 (limit: 9285)
Memory: 1.9M (peak: 3.8M)
CPU: 594ms
CGroup: /system.slice/dbus.service
└─148 @dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
sytemdもDBusも動いているようです。アップグレードも最後まで終了しているので、恐らく問題ないでしょう。
3. OSの再起動は不要なのか?
一般的に、パッケージをアップデートした後にOSの再起動が必要なことがあります。
今回、OSの再起動が必要かどうか、「cat /run/reboot-required」で見てみましょう。
minyaneko@Ubuntu:~$ cat /run/reboot-required
cat: /run/reboot-required: No such file or directory
今回は必要ないようです。ただしこれはあくまでもOSの再起動が必要ないという意味で、個々のプロセスがアップグレード前のバージョンで動いている可能性があります。
個々のプロセスの再起動が必要かどうかは「needrestart」で確認します。
minyaneko@Ubuntu:~$ sudo needrestart
sudo: 'needrestart': command not found
えぇ・・・入ってないの・・・。しょうがないのでneedrestartをインストールします。
minyaneko@Ubuntu:~$ sudo apt install needrestart
Installing:
needrestart
Installing dependencies:
libintl-perl libmodule-find-perl libsort-naturally-perl
libintl-xs-perl libproc-processtable-perl libterm-readkey-perl
Suggested packages:
needrestart-session | libnotify-bin iucode-tool
Summary:
Upgrading: 0, Installing: 7, Removing: 0, Not Upgrading: 0
Download size: 860 kB
Space needed: 5266 kB / 1024 GB available
Continue? [Y/n] y
(後略)
あらためてneedrestartを起動すると
minyaneko@Ubuntu:~$ sudo needrestart

えええ・・・ナニコレいつの間にGUIなんか入れた?と思ったら、GUIではなく、こういう画面らしい。
*で選択されたものが再起動されるので、このままtabキーを動かしてOkのところでEnterを押して実行します。
minyaneko@Ubuntu:~$ sudo needrestart
Scanning processes...
Scanning candidates...
Restarting services...
systemctl restart packagekit.service polkit.service
Service restarts being deferred:
/etc/needrestart/restart.d/dbus.service
systemctl restart networkd-dispatcher.service
systemctl restart systemd-logind.service
systemctl restart unattended-upgrades.service
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
元の画面になりました。
しかし今回、systemdが途中でエラーになったこともあり、念のためPowerShellで「wsl –shutdown」によりWSLをシャットダウンし、再度Ubuntuの起動を行いました。
4. 現在のOSバージョンを確認する
次に、最新のLTSにアップグレードしたいと思います。ちなみに、前述のパッケージアップグレードを先にやっておいた方が、依存関係でこじれないようです。
まずは「lsb_release -a」および「cat /etc/os-release」で、現在のディストリビューション(種類)やバージョン、コードネームを確認します。
minyaneko@Ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 26.04 LTS
Release: 26.04
Codename: resolute
minyaneko@Ubuntu:~$
minyaneko@Ubuntu:~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 26.04 LTS"
NAME="Ubuntu"
VERSION_ID="26.04"
VERSION="26.04 (Resolute Raccoon)"
VERSION_CODENAME=resolute
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=resolute
LOGO=ubuntu-logo
26.04LTSであることが分かります。
5. 最新のLTSがあるかどうかを確認する
次に、最新のLTSがあるかどうかを確認したいのですが、その前に、LTSだけを確認するのか、LTSではない通常版も確認するのかを定義しているファイルを見に行きます。
minyaneko@Ubuntu:~$ cat /etc/update-manager/release-upgrades
[DEFAULT]
Prompt=lts
「Prompt=lts」とあるので、LTSの最新版のみを確認するようになっています。
次に「do-release-upgrade -c」で最新のアップグレード版があるかを確認します。
minyaneko@Ubuntu:~$ sudo do-release-upgrade -c
Checking for a new Ubuntu release
No new release found.
現在のバージョンが最新のLTSのようです。
ちなみに、24.04より細かいマイナーバージョンはあるとすれば、先のaptコマンドで提供されるようです。