カーネルの更新後にrhel 7システムを再起動する必要があるかどうかを確認する方法

カーネルの更新後にrhel 7システムを再起動する必要があるかどうかを確認する方法

私たちが知っているように、カーネルのアップグレード(パート1 RHEL 7)後にカーネルのバージョンを更新するには、再起動する必要があります。

したがって、再起動後、次のようにカーネルのバージョンを確認できます。uname -r

カーネルのアップグレードにスクリプトを使用するので、

正しいアプローチが何であるかを確認したいと思います。カーネルのアップグレードのためにマシンを再起動する必要があります。

このrebootプロセスはカーネルアップグレードプロセスの直後には発生せず、カーネルのアップグレード後数ヶ月後に発生する可能性があります。

RHEL7したがって、私たちは機械を再起動する必要があることを示す正しい確認を見つけることを願っています。

uname -r1つの方法は、以下のようにバージョンごとにチェックし、そのバージョンをインストールされているrpmと比較することです。rpm -qa | grep kernel

しかし、より良いガイドラインやより良い検証のための提案を得ることもできます。

答え1

私たちが知っているように、カーネルアップグレード(RHEL 7)の後にカーネルバージョンを更新するには、再起動が必要です。

いいえ、アップグレードされました。ただし、新しいカーネルを実行するには、新しいカーネルを使用するにはロードする必要があります。 Linuxではないからそれいいですね。唯一の方法は再起動することです。

yum次のような場合に通知するツールが付属しています。どのインストール/アップグレードしたエントリを再起動する必要があります。と言って見つけやすいですneeds-restarting-r意味のある戻りコードを取得するには、それを呼び出します。


1 技術的には新しいカーネルで kexec できますが、実行中のプロセス、開かれたファイル、ファイルシステムネットワークなどは維持されないため、結局破損した状態になります。

答え2

/usr/bin/needs-restarting(yum-utils) を使用すると、これを行うことができます。

(たとえば、needs-restarting -r || shutdown +5 "Rebooting post patching"

Usage:  
    needs-restarting: Report a list of process ids of programs that started  
                    running before they or some component they use were  updated.  
  
  
Options:   
   -h, --help        show this help message and exit  
   -u, --useronly    show processes for my userid only  
   -r, --reboothint  only report whether a full reboot is required  
                     (exit code 1) or not (exit code 0)  
   -s, --services    list the affected systemd services only  

関連情報