KERNEL更新的目的是要支援硬體、修改BUG和安全性修復。
但是如果平常使用的好好的,被更新KERNEL可能會遇到意外狀況。
像是新版的會造成amdgpu驅動程式就會造成不支援DKMS(動態核心模組支援Dynamic Kernel Module Support)編譯。
或者新版的會因為沒有客製硬體支援,要重新編譯和安裝啟用,重開機成新版以後,忽然某個硬體不正常而造成困擾。
那有沒有什麼解法來消極的克服KERNEL更版升級呢?
還真的有:
方法一
編輯apt忽略更新清單
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
找類似這行的內容,加入要忽略的套件名稱。
// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
"linux-generic";
"linux-image-generic";
"linux-headers-generic";
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
存檔離開後,這時候apt update應該就會忽略指定的套件不做更新和升級。
方法二
下個HOLD指令,不更新指定的套件。一般KERNEL會用到的總套件名稱如下。
sudo apt-mark hold linux-generic linux-headers-generic linux-image-generic linux-generic-hwe-22.04 linux-image-generic-hwe-22.04 linux-headers-generic-hwe-22.04
那如果某天想到,確定要更新升級的話,則要下這個指令解除HOLD狀態的套件。
sudo apt-mark unhold linux-generic linux-headers-generic linux-image-generic linux-generic-hwe-22.04 linux-image-generic-hwe-22.04 linux-headers-generic-hwe-22.04
參考資料:
1. https://askubuntu.com/questions/1174833/disable-kernel-auto-updates-in-ubuntu-18-04-cli-only
2. https://www.tecmint.com/disable-lock-blacklist-package-updates-ubuntu-debian-apt/