如何保留 Kubuntu 14.04 上的所有 Linux 内核包?

如何保留 Kubuntu 14.04 上的所有 Linux 内核包?

我在私人笔记本电脑上运行 Kubuntu 14.04。当软件包系统更新我的 Linux 内核时,它会删除旧软件包,只保留 2 个最新版本的内核映像(和相关软件包)。目前,这两个版本是(据我所知)3.13.0-32 和 3.13.0-48。如何让软件包系统停止删除旧内核映像?

我意识到这会给我留下一长串未使用的内核映像,但是我宁愿自己进行清理,也不愿冒着无法启动笔记本电脑的风险。

编辑:根据 Aaron Digulla 的回答,我创建了一个文件,/etc/apt/apt.conf.d/99keep-kernels内容如下:

APT::NeverAutoRemove
{
   "^linux-image-*-generic$";
   "^linux-image-*-generic$";
   "^linux-headers-*-generic$";
   "^linux-headers-*-generic$";
   "^linux-image-extra-*-generic$";
   "^linux-image-extra-*-generic$";
   "^linux-signed-image-*-generic$";
   "^linux-signed-image-*-generic$";
   "^kfreebsd-image-*-generic$";
   "^kfreebsd-image-*-generic$";
   "^kfreebsd-headers-*-generic$";
   "^kfreebsd-headers-*-generic$";
   "^gnumach-image-*-generic$";
   "^gnumach-image-*-generic$";
   "^.*-modules-*-generic$";
   "^.*-modules-*-generic$";
   "^.*-kernel-*-generic$";
   "^.*-kernel-*-generic$";
   "^linux-backports-modules-.*-generic$";
   "^linux-backports-modules-.*-generic$";
   "^linux-tools-*-generic$";
   "^linux-tools-*-generic$";
};

但那没有用。Ubuntu 仍然只保留最新的 2 个内核。

答案1

固定不会对您起作用,因为它会阻止完全升级内核。

查看/etc/apt/apt.conf.d/01autoremove/etc/apt/apt.conf.d/01autoremove-kernels。这些文件包含应自动清除的软件包列表。第二个文件由脚本维护/etc/kernel/postinst.d/apt-auto-removal

为了解决您的问题,请将文件复制/etc/apt/apt.conf.d/01autoremove-kernels到其中/etc/apt/apt.conf.d/99keep-kernels并编辑模式以匹配其中的 11 个包的任意版本。

所以

"^linux-image-3\.13\.0-45-generic$";

会成为

"^linux-image-";

此模式现在可匹配任何版本的软件包,并防止apt删除它们。安装后脚本执行相同的操作,不会产生冲突 - 您的文件版本只会匹配更多软件包,并防止自动删除任何版本。

相关内容