Ubuntu Weekly Recipe

第671回 パッケージのアップデートとアップグレードを制御する

この記事を読むのに必要な時間:およそ 2.5 分

CLIでのアップデートの設定変更

ではGUIのないサーバーでアップデートの設定を変更したい場合はどうするのかというと,⁠unattended-upgrade」パッケージを使用します。とはいえUbuntu(デスクトップ)にもインストールされていますし,こちらもaptの設定を書き換えるので「ソフトウェアとアップデート」の設定と共存できます。設定自体は/etc/apt/apt.conf.d/50unattended-upgradesに対して行います。設定の読み込みは冒頭の数字の若い順番に行われるため,⁠ソフトウェアとアップデート」の設定よりも「unattended-upgrade」の設定のほうが優先されます。

具体的にな設定方法に関しての説明は省略しますが,英語とはいえわかりやすい解説が書かれているのでそれほど難しくはないでしょう。

本連載では第83回第173回でunattended-upgradeを紹介していました。なかなかに歴史を感じます。

アップグレードの設定変更

アップグレードの設定変更は,もうおわかりかと思いますが,⁠ソフトウェアとアップデート」「アップデート」タブにある最後のひとつ,⁠Ubuntuの新バージョンの告知」で行います。LTSでのデフォルト設定は「長期サポート(LTS)版」で,通常リリースでは「すべての新バージョン」となっています。ということは,LTSから通常リリースにアップグレードしたい場合はここを「すべての新バージョン」に,例えばUbuntu 21.10から22.04 LTSにアップグレードし,その後はLTSのリリース毎にアップグレードしたい場合は「LTS」とすればいいことになります。

この設定を変更すると,⁠/etc/update-manager/release-upgrades」「Prompt」の値を書き換えます。値は「never」⁠normal」⁠lts」です。

値が「normal」または「lts」で,新リリースがあった際はアップグレードの告知が表示されます。図2はUbuntu 20.10で表示されたアップグレードの告知です。実際のプログラムは/usr/lib/ubuntu-release-upgrader/check-new-release-gtkです。

図2 Ubuntu 20.10で表示される「Ubuntu 21.04のアップグレードが利用可能です」

図2

「アップグレードしない」をクリックすると,dconfの「/apps/update-manager/check-new-release-ignore」にアップデート対象のコードネーム(今回だと「hirste⁠⁠)を書き込みます。ということは,例えばUbuntu 18.04 LTSから20.04 LTSにアップグレードしたくない場合はこの値を「focal」にすればいいわけですが,20.04 LTSから22.04 LTSにアップグレードしたくない場合は22.04 LTSのリリース後にこの値を書き換える必要があります。恒久的にアップグレードしたくない場合は前述の「Ubuntuの新バージョンの告知」「なし」にすればいいことになります。

「次回にたずねる」をクリックすると,dconfの「/com/ubuntu/update-notifier/release-check-time」に次に起動する時間をUNIX時間で記録します。調べてみたところ,クリックした日時の1週間後の同時刻になりました。

「今すぐアップグレードする」をクリックすると,いうまでもありませんがアップグレードを行うアプリケーションが起動します。

Ubuntu Weekly Topics 2021年5月14日号にあるように,Ubuntuのアップグレード開始を速やかに行わないことが増えてきました。どうやってこのようなことをしているのかというと,⁠/usr/lib/ubuntu-release-upgrader/check-new-release-gtk」が通常リリースの場合はhttp://changelogs.ubuntu.com/meta-releaseに,LTSの場合はhttp://changelogs.ubuntu.com/meta-release-ltsにアクセスして新リリースがないかを確認しているのです。これらのファイルは当然ではあるものUbuntuのすべてのリリースに関する記述があるため,コードネームを忘れてしまった場合や,パッケージがhttp://old-releases.ubuntu.com/送りになっているかどうかを確認する必要がある場合に見てみるのもいいでしょう。

著者プロフィール

あわしろいくや

Ubuntu Japanese Teamのメンバー。VirtualBoxなどの翻訳を手がける。技術同人サークルteam zpn主宰。ほか原稿執筆を少々。