Ubuntu 关闭内核自动更新
flyfish
如果服务器连通外网,Ubuntu系统会自动升级内核,为了防止某些驱动在内核升级后不可用,关闭内核自动更新机制,避免更新后驱动不可用。
执行如下命令关闭内核自动更新
sudo apt-mark hold linux-image-generic linux-headers-generic
这个命令的作用是将 linux-image-generic
和 linux-headers-generic
这两个包标记为“保持”状态,从而防止它们在系统更新时被自动升级或删除。这对于保持当前内核版本非常有用,尤其是在希望避免因新内核引入的潜在问题而影响系统稳定性的情况下。
详细解释
-
apt-mark
命令:apt-mark
是apt
包管理工具的一个子命令,用于管理包的状态。- 常见的子命令有
hold
和unhold
,分别用于标记和取消标记包的“保持”状态。
-
hold
子命令:hold
子命令将指定的包标记为“保持”状态,这意味着这些包在系统更新时不会被自动升级或删除。- 例如,
sudo apt-mark hold package-name
会将package-name
标记为“保持”状态。
-
linux-image-generic
和linux-headers-generic
:linux-image-generic
是一个元包,它依赖于当前最新的稳定内核镜像。安装这个包会确保始终使用最新的内核。linux-headers-generic
是另一个元包,它依赖于当前最新的内核头文件。这些头文件通常用于编译内核模块。
验证设置
可以通过以下命令验证这些包是否已经被标记为“保持”状态:
apt policy linux-image-generic linux-headers-generic
输出应显示这些包的状态为 hold
,例如:
linux-image-generic:
已安装:5.15.0.125.124
候选: 5.15.0.126.125
版本列表:
5.15.0.126.125 500
500 http://repo.huaweicloud.com/ubuntu-ports jammy-updates/main arm64 Packages
*** 5.15.0.125.124 500
500 http://repo.huaweicloud.com/ubuntu-ports jammy-security/main arm64 Packages
100 /var/lib/dpkg/status
5.15.0.25.27 500
500 http://repo.huaweicloud.com/ubuntu-ports jammy/main arm64 Packages
500 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 Packages
linux-headers-generic:
已安装:5.15.0.125.124
候选: 5.15.0.126.125
版本列表:
5.15.0.126.125 500
500 http://repo.huaweicloud.com/ubuntu-ports jammy-updates/main arm64 Packages
*** 5.15.0.125.124 500
500 http://repo.huaweicloud.com/ubuntu-ports jammy-security/main arm64 Packages
100 /var/lib/dpkg/status
5.15.0.25.27 500
500 http://repo.huaweicloud.com/ubuntu-ports jammy/main arm64 Packages
500 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 Packages
取消保持状态
如果后来决定允许内核升级,可以使用以下命令取消保持状态:
sudo apt-mark unhold linux-image-generic linux-headers-generic