カーネル更新やパッケージのパッチ適用後、OSの再起動が必要か確認するLinuxコマンド(needs-restarting)

目次

スポンサードリンク

OSのパッチ適用後、再起動が必要か迷う際は needs-restarting コマンドを試してみましょう。

needs-restarting とは

needs-restarting コマンドは、システムの更新やパッケージのインストール後に、再起動が必要かどうかを判断するためのコマンドです。主に systemd を利用しているシステムで利用されます。dnf コマンドで カーネルや基盤となるシステムソフトウェアやパッケージが更新された場合、システム全体が安定して動作するためにOSの再起動が必要になることがあります。needs-restarting コマンドを使うと再起動が必要なプログラムを表示することができます。

利用方法

AWSにRHEL8(Red Hat Enterprise Linux 8)のサーバーを構築した際、OSバージョンが 8.9 だったので、最新の 8.10 に更新することにしました。

dnf upgrade コマンドでOS更新後、needs-restarting コマンド を実行してみました。 -r オプションをつけると、再起動が必要かどうかを簡潔に表示してくれます。「Reboot is required to fully utilize these updates.」と記載されているので再起動が必要なことが分かります。

[root@hostname ~]# needs-restarting -r
Core libraries or services have been updated since boot-up:
* glibc
* kernel
* linux-firmware
* systemd

Reboot is required to fully utilize these updates.
More information: https://access.redhat.com/solutions/27943

OS再起動後、もう一度実行してみると以下のように再起動は必要ないと表示されました。安心ですね。

[root@hostname ~]# needs-restarting -r
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

No core libraries or services have been updated since boot-up.
Reboot should not be necessary.

また、needs-restarting コマンドに –services オプションをつけて実行すると、再起動が必要なサービスの一覧を表示できます。

[root@hostname ~]# needs-restarting --services
serial-getty@ttyS0.service
NetworkManager.service
systemd-logind.service
tuned.service
rhsmcertd.service
getty@tty1.service
irqbalance.service
chronyd.service
nrpe.service
zabbix-agent.service
systemd-journald.service
auditd.service
polkit.service
dbus.service
rsyslog.service

注意点

上記表示があったからと言って、必ず直ちにシステムを再起動する必要があるという意味ではない点は注意が必要です。OS再起動はせずに、関連するサービスの再起動だけで済むケースもあります。ただし、opensslなどセキュリティ上重要なライブラリの更新の場合は、OS含めた再起動が推奨されているようです。

まとめ

システム管理者にとっては、このコマンドを活用することでシステムの安定性を維持する助けになります。再起動が必要か迷う際は活用してみてください。



Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。

Linux教科書 図解でパッとわかる LPIC/LinuC
はじめてLPICを受ける方向け、手を動かしながらLinuxについて学びたい方におすすめ。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon