Ubuntu 24.04 LTS でHWE(Hardware Enablement)カーネルを使っていると、中間リリースのカーネルに順次ロールアップされていきます。本番環境などで「勝手にカーネルバージョンを上げたくない」場合の設定手順です。
前提環境
- Ubuntu 24.04 LTS
- HWEカーネル運用(
linux-image-generic-hwe-24.04がインストール済み)
手順1: 現状を確認する
uname -r
dpkg -l | grep linux-image
apt-mark showhold
linux-image-generic-hwe-24.04 がインストールされていれば、HWEメタパッケージ経由でカーネルが自動追随している状態です。
手順2: カーネル関連パッケージを固定する
現在使用中のカーネル本体と、HWEメタパッケージの両方を固定します。メタパッケージを固定しないと、個別バージョンをholdしても新しいカーネルが引き込まれるので、両方の固定が必要です。
# 現行カーネル本体
sudo apt-mark hold linux-image-$(uname -r)
sudo apt-mark hold linux-headers-$(uname -r)
sudo apt-mark hold linux-modules-$(uname -r)
sudo apt-mark hold linux-modules-extra-$(uname -r)
# HWEメタパッケージ(最重要)
sudo apt-mark hold linux-generic-hwe-24.04
sudo apt-mark hold linux-image-generic-hwe-24.04
sudo apt-mark hold linux-headers-generic-hwe-24.04
手順3: 自動更新の対象からも除外する
unattended-upgrades を有効にしている場合は、設定ファイルも編集します。
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Package-Blacklist セクションを次のように編集します。
Unattended-Upgrade::Package-Blacklist {
"linux-generic-hwe-24.04";
"linux-image-generic-hwe-24.04";
"linux-headers-generic-hwe-24.04";
"linux-image-";
"linux-headers-";
"linux-modules-";
};
手順4: 固定されたことを確認する
apt-mark showhold
sudo apt update
sudo apt upgrade --dry-run | grep -i linux
apt upgrade の dry-run でカーネル関連パッケージが「保留 (kept back)」と表示されれば固定成功です。
固定を解除したいとき
sudo apt-mark unhold linux-image-$(uname -r)
sudo apt-mark unhold linux-headers-$(uname -r)
sudo apt-mark unhold linux-modules-$(uname -r)
sudo apt-mark unhold linux-modules-extra-$(uname -r)
sudo apt-mark unhold linux-generic-hwe-24.04
sudo apt-mark unhold linux-image-generic-hwe-24.04
sudo apt-mark unhold linux-headers-generic-hwe-24.04
/etc/apt/apt.conf.d/50unattended-upgrades に追記した行も忘れずに戻します。
おまけ: 古いカーネルを掃除する
dpkg -l | grep linux-image で rc 状態のカーネルが残っている場合、領域を消費しているだけなので削除できます。
sudo apt autoremove --purge
注意点
-
apt-mark holdは自動更新を防ぐだけで、sudo apt install linux-image-xxxと明示的に指定すれば通ります。 - カーネル更新を止めると脆弱性パッチも入らなくなります。本番環境では Canonical Livepatch の併用を検討してください。
- HWEメタパッケージ(
linux-image-generic-hwe-24.04)の固定が最大のポイントです。これを忘れるとどれだけ個別バージョンをholdしても意味がありません。