商用でサーバーを動かす場合、滅多なことでは再起動してはいけないが、yum update に kernel のアップデートなどが含まれた場合は再起動が必要になる(kernel は Linuxのコア部分だから)。
というわけで、yum update はかけるが、kernel アップデートは除外したい場合はどうするか。
yum update --exclude=PACKAGENAME
と書けばよい。具体的には
# yum update --exclude=kernel*
とする。
または/etc/yum.conf
ファイルを編集する。
[main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 ~(中略)~ exclude=kernel* ← 追記
注:除外するパッケージが複数ある場合は、それらを単一のスペースまたはコンマを使用して区切る。また、exclude=構成ファイルに複数行を追加してはいけない。yum最後のexcludeエントリだけが考慮される。
例:32bit パッケージを除外する場合 exclude=*.i?86 *.i686
参考 ↓ 日本語のFAQはサブスクリプションが必要なようだが、なぜか英語版は閲覧できた。
そもそもどのようなアップデートがあった場合再起動が必要になるか。
再起動が必要なプロセスを見つけたり、OS再起動が必要かどうかアドバイスしてくれるコマンドがあります。
「yum-utils」パッケージに入っている「needs-restarting」コマンドを使います。
いくつかのコアなライブラリやサービスを更新した場合は再起動を促すメッセージが表示されるようです。
ソースコード上では、以下の8パッケージの更新時に再起動するようメッセージが出るようになっています。
『dbus、glibc、gnutls、linux-firmware、kernel、openssl-libs、systemd、udev』
今度何かアップデートしたら試してみます。