カーネル更新やパッケージのパッチ適用後、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本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】
Search
Recent Posts
- カーネル更新やパッケージのパッチ適用後、OSの再起動が必要か確認するLinuxコマンド(needs-restarting)
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法