停止更新旧内核

停止更新旧内核

我在 Ubuntu 15.04 上运行内核版本 4,但我一直收到 3.19 的更新。我该如何阻止它检查这个旧内核的更新?

答案1

由于内核元软件包的依赖关系不断演变,内核会进行更新。例如,我的LTS-HWE内核已更新,因为我有 linux-headers-generic-lts-utopic。这取决于 Utopic 内核的最新版本(为 Trusty 重建),当新版本发布时,元包会更新以依赖于它,因此 Ubuntu 会对其进行更新。

因此解决方案很简单:删除或别针元包。

找到正确的软件包有点困难。由于您使用的是非 LTS 版本,因此您可能只需删除软件包即可linux-{image,headers}-generic。您可以检查它们所依赖的内容(请记住,我使用的是 14.04 - 您的输出会有所不同):

$ apt-cache depends linux-{image,headers}-generic
linux-image-generic
  Depends: linux-image-3.13.0-55-generic
  Depends: linux-image-extra-3.13.0-55-generic
  Depends: linux-firmware
  Conflicts: linux-image-generic:i386
linux-headers-generic
  Depends: linux-headers-3.13.0-55-generic
  Conflicts: linux-headers-generic:i386

但是,如果您在之后仍看到潜在的升级apt update,则可能是其他元包依赖于新内核。例如,我的 HWE 元包。如果您看到此信息,则可以进行反向依赖搜索

$ apt-cache rdepends linux-image-3.16.0-41-generic 
linux-image-3.16.0-41-generic
Reverse Depends:
  linux-image-3.16.0-41-generic:i386
  linux-signed-image-3.16.0-41-generic
  linux-image-virtual-lts-utopic
  linux-image-generic-lts-utopic
  linux-image-extra-3.16.0-41-generic

并仔细检查这些文件,直到找到需要终止的包。在我的例子中,该包是linux-image-generic-lts-utopic

您可能会发现系统会在您下次执行 时尝试自行清理apt-get autoremove,并删除现在不依赖的内核。这样您就只能使用手动安装的 4.x 内核了。如果您想保留当前版本的内核,只需运行

sudo apt-get install linux-image-3.16.0-41-generic

Apt 会将它们标记为“手动安装”。显然,将软件包名称替换为您要保留的软件包名称。

相关内容