Azure

AzureでUbuntu 22.04を起動するとDaemons using outdated librariesが表示される

Tips

AzureでUbuntu 22.04を立ち上げ、apt upgrade を行うと下記のような表示がでます。初回は必ず表示されます。

これはサービスの再起動についての確認です。

 

シビアなシーンでは計画メンテナンスなどを行う必要になると思いますが

 

Package configuration が開きます。Daemons using outdated libraries が表示され、Which services should be restarted? (どのサービスを再起動する必要がありますか?)と聞かれます。

 

Package configuration

 

これは文字通りの再起動が必要なサービスを聞かれています。

 

例えば、python-apt-common だけアップデートしようとすると、それに応じた対象のサービスの再起動について求められます。

Upgradeするとチェックの入っているサービスを再起動しています。

Running kernel seems to be up-to-date.

Restarting services...
 /etc/needrestart/restart.d/systemd-manager
 systemctl restart cron.service packagekit.service ssh.service systemd-journald.service systemd-networkd.service systemd-resolved.service
Service restarts being deferred:
 systemctl restart systemd-logind.service
 systemctl restart unattended-upgrades.service
 systemctl restart user@1000.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.

 

 

これはneedrestartの設定です。

/etc/needrestart/needrestart.conf を編集します。

# Restart mode: (l)ist only, (i)nteractive or (a)utomatically.
#
# ATTENTION: If needrestart is configured to run in interactive mode but is run
# non-interactive (i.e. unattended-upgrades) it will fallback to list only mode.
#
#$nrconf{restart} = 'i';

(l)ist onlyを指定した場合

$nrconf{restart} = 'l';

下記のようにリストされます。再起動は行われません。

Running kernel seems to be up-to-date.

Services to be restarted:
 systemctl restart cron.service
 systemctl restart packagekit.service
 systemctl restart ssh.service
 systemctl restart systemd-journald.service
 /etc/needrestart/restart.d/systemd-manager
 systemctl restart systemd-networkd.service
 systemctl restart systemd-resolved.service
 systemctl restart systemd-timedated.service

Service restarts being deferred:
 systemctl restart systemd-logind.service
 systemctl restart unattended-upgrades.service
 systemctl restart user@1000.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.

(i)nteractive を指定した場合

$nrconf{restart} = 'i';

デフォルトの動作です。

(a)utomatically を指定した場合

$nrconf{restart} = 'a';
Running kernel seems to be up-to-date.

Restarting services...
 /etc/needrestart/restart.d/systemd-manager
 systemctl restart cron.service packagekit.service ssh.service systemd-journald.service systemd-networkd.service systemd-resolved.service

Service restarts being deferred:
 systemctl restart systemd-logind.service
 systemctl restart unattended-upgrades.service
 systemctl restart user@1000.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.

以上にように動作します。

本来であれば、サービスの再起動の挙動は利用シーンに合わせて設定することをお勧めします。

そもそもneedrestartによる再起動が必要ないでのあれば、以下のコマンドで削除します。

apt purge needrestart

環境に合わせて設定してください。

-Azure
-