ubuntuで再起動が要求される際に更新されるパッケージの内容を調査

サーバーのメンテでカーネルを更新したのですが、再起動後も「再起動が必要です」という表示が出ていました。

実行中のカーネルのバージョンも最新だったので、なぜ再起動が必要かを調査してみました。

まず、再起動が必要な場合 /var/run/reboot-required 内にその旨が記述されています。

$ cat /var/run/reboot-required
*** システムの再起動が必要です ***

また、 /var/run/reboot-required.pkgs を参照すると再起動が必要なパッケージの理由を閲覧できます。

$ cat /var/run/reboot-required.pkgs
linux-base

linux-baseというとカーネル関連のアップデートですが、その詳細がよく分かりませんね・・・

どうやら /usr/share/update-notifier/notify-reboot-required というスクリプトが実行されることでこの文章が記録されるらしいです。

スクリプト中に次の記述があります。

if [ "$0" = "/etc/kernel/postinst.d/update-notifier" ]; then
    DPKG_MAINTSCRIPT_PACKAGE=linux-base
fi

驚いたことにlinux-baseという文章は決め打ちで記述されているようです(だったらreboot-required.pkgsは必要ないのでは・・・)。

また、update-notifierはOSのアップデートやクラッシュレポートなどを監視・報告するプログラムのようです。

具体的に再起動で適用されるパッケージを表示したかったのですが、少し調べた限りでは方法が分かりませんでした。

とりあえず再起動を行って様子を見ようと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です