
CentOSでcPanel(最新バージョン)を実行しているサーバーを実行しており、yumを使用して自動的に更新されるように設定しました。カーネル(およびその他)を更新するには再起動が必要なので、再起動が必要かどうかを確認する方法があるかどうか疑問に思います。
編集する:サーバーはOpenVZ上で動作するVPSです。 OpenVZの仕組みのため、どちらも機能/boot/vmlinuz
しませんyum list installed kernel
。
答え1
次のbashスクリプトを試すことができますこの回答サーバー障害のため。
#!/bin/bash
LAST_KERNEL=$(rpm -q --last kernel | perl -pe 's/^kernel-(\S+).*/$1/' | head -1)
CURRENT_KERNEL=$(uname -r)
test $LAST_KERNEL = $CURRENT_KERNEL || echo REBOOT
答え2
まず、実行中のカーネルバージョンを印刷します。
#uname -r 2.6.32-71.29.1.el6.i686 いいですね。以下をパッチする必要があります。 #ヤムアップデートカーネル* kexecツールをダウンロードしてください。 # yum インストール kexec-tools 最後にインストールされたカーネルのバージョンをインポートし、varに入れます。 #latestkernel=`ls -t /boot/vmlinuz-* | sed "s/\/boot\/vmlinuz-//g"|head-n1` # エコ $latestkernel 2.6.32-220.4.1.el6.i686 これで、新しいカーネルバージョンをメモリにロードする必要があります。 #kexec -l /boot/vmlinuz-${latestkernel} --initrd=/boot/initramfs-${latestkernel}.img --append="`cat /proc/cmdline`" 最後にリセットコマンドを実行できます。 #kexec -e ..そして..うわー、システムが消えた! ..まあ、必ずしもそうではありません。 システムは「再起動なしで再起動」されます...BIOSチェックを実行せずに高速リブートに似ています(そしてシステム全体のリブートがどれくらい持続できるかを知っています)。 #uname -r 2.6.32-220.4.1.el6.i686
効率的!
- カーネルリセットは、接続リセットも実行して同時に稼働時間をリセットするため、セキュリティがパッチされている間に稼働時間の記録を付与することを探している場合は、これは適切ではありません。