Linux でパッケージのアップデート時、カーネルが自動更新されないように固定するにはディストリビューション毎に以下のようにします。
RedHat / CentOS 系
一時的にカーネルを更新対象から除外する
一時的にアップデート対象からカーネルを除外するには以下のように実行します。 7.x 系までであれば yum
を、8.x 系以降であれば dnf
を利用します。
dnf update --exclude='kernel*'
yum update --exclude='kernel*'
恒久的にカーネルを更新対象から除外する
恒久的にアップデート対象からカーネルを除外するには /etc/yum.conf
の最下行へ以下を追加します。
exclude=kernel*
Debian/Ubuntu 系
一時的にカーネルを更新対象から除外する
一時的にアップデート対象からカーネルを除外するには以下のように実行します。 apt-mark hold [PACKAGE]
で hold 指定されたパッケージは apt upgrade
による自動アップデートの対象から除外されます。 但し、apt update [PACKAGE]
のようにパッケージ名を個別に指定した手動アップデートは可能です (アップデートされてしまいます)。
apt-mark hold 'linux-generic*' 'linux-headers*' 'linux-image*' 'linux-modules*'
hold を解除し、自動アップデート対象に戻すには以下のように apt-mark unhold [PACKAGE]
を実行します。
apt-mark unhold 'linux-generic*' 'linux-headers*' 'linux-image*' 'linux-modules*'
hold されているパッケージ一覧を表示するには apt-mark showhold
を実行します。
apt-mark showhold
恒久的にカーネルを更新対象から除外する
恒久的にアップデート対象からカーネルを除外するには /etc/apt/apt.conf.d/50unattended-upgrades
へ以下を追加します。
Unattended-Upgrade::Package-Blacklist {
"linux-headers*";
"linux-image*";
"linux-generic*";
"linux-modules*";
};
コメント