今回は、Ubuntuがどのように情報を得てアップグレードの告知を得るのかを解説します。
ついに始まったアップグレード
Ubuntu 22.
今回は、このダイアログがどういう仕組みで表示されるのかを見ていきます。
Ubuntuアップグレード告知の仕組み
Ubuntuのアップグレードが可能になった場合、ユーザーには図1のダイアログをもって告知されます。
なおsystemdのunitに関する説明は省略します。詳しくはsystemdの思想と機能をお読みください。
まず第755回で紹介したように、update-notifier-motd.
が毎週日曜日の午前6時に/usr/
を実行します。ただし
内部では/usr/
が呼ばれており、第671回で紹介したように/etc/
の設定値、あるいは
なお、各リリース情報は/etc/
にあります。中身は次のとおりです。
# default location for the meta-release file
[METARELEASE]
URI = https://changelogs.ubuntu.com/meta-release
URI_LTS = https://changelogs.ubuntu.com/meta-release-lts
URI_UNSTABLE_POSTFIX = -development
URI_PROPOSED_POSTFIX = -proposed
「すべてのバージョン」update-manager -d
を実行すると開発中のバージョにアップグレードするという解説を見かけます。これは
アップデートがあった場合、より具体的には、https://
またはhttps://
を確認して現在使用中のリリースよりも新しいものがあった場合は/usr/
によって/var/
が書き換えられます。
/var/
は/usr/
によって監視されており、変更があると/usr/
が起動します。すなわち/usr/
が図1のダイアログです。
アップグレード告知ダイアログの挙動
アップグレード告知ダイアログの挙動に関しては第671回で紹介したとおりで、ここでも少し省略して紹介します。
「アップグレードしない」
「次回にたずねる」現在時刻+7*24*60*60
)
「今すぐアップグレードする」do-release-upgrade
が起動します。これは引数によってGTK3フロントエンド、KDEフロントエンドが使用できます。フロントエンドなし、すなわちコマンドラインでも実行できます。
Ubuntuで表示されるGTK3フロントエンドは図3です。まずリリースノートの案内から表示されます。do-release-upgrade
をコマンドラインから実行してもまず最初に表示されるのはリリースノートの案内であり
どんなことに使えるのか
これまで述べてきたことは、単なるユーザーにとってはあまり興味を引くことではないかもしれません。ただ、それなりの規模のUbuntu管理者であれば役に立つかもしれません。
というのも、/etc/
を見てもわかるとおり、ファイルはHTTPでアクセスできるところであればどこに置いてもいいわけです。また、中身も以下のような感じで、好きに書き換えることができます。
Dist: noble
Name: Noble Numbat
Version: 24.04.1 LTS
Date: Thu, 25 April 2024 23:59:59 UTC
Supported: 1
Description: This is the 24.04.1 LTS release
Release-File: http://archive.ubuntu.com/ubuntu/dists/noble-updates/Release
ReleaseNotes: http://archive.ubuntu.com/ubuntu/dists/noble-updates/main/dist-upgrader-all/current/ReleaseAnnouncement
ReleaseNotesHtml: http://archive.ubuntu.com/ubuntu/dists/noble-updates/main/dist-upgrader-all/current/ReleaseAnnouncement.html
UpgradeTool: http://archive.ubuntu.com/ubuntu/dists/noble-updates/main/dist-upgrader-all/current/noble.tar.gz
UpgradeToolSignature: http://archive.ubuntu.com/ubuntu/dists/noble-updates/main/dist-upgrader-all/current/noble.tar.gz.gpg
LAN内にUbuntuのミラーサーバーがあれば、インターネットにアクセスせずアップグレードすることも可能となります。台数が多いとアップグレードのスケジュールが大変になります。その要因の一つはインターネット回線またはサーバーの混み具合によりパッケージのダウンロードが変動し、作業時間が読めなくなることです。完全にLAN内で完結すれば、少なくともその心配はなくなります。
そのほか考えられることして、完全にオフラインでUbuntuをアップグレードせよという業務命令が下ったときにも有効な知識となるでしょう。apt-mirrorで取得したUbuntuのミラーと簡易なHTTPサーバーpython3 -m
など)