增加自动删除的旧内核的数量(在 ubuntu 22.04 中)

增加自动删除的旧内核的数量(在 ubuntu 22.04 中)

我喜欢做同样的事情:

增加自动删除的旧内核数量

但是在 ubuntu 22.04 中我找不到“apt-auto-removal”文件。

谢谢 nir

更新:这是此目录的内容

目录内容

我有“01autoremove”文件,里面的内容如下

/etc/apt/apt.conf.d$ cat 01autoremove

01自动删除文件内容

你知道我需要改变什么吗?

答案1

为了保留额外的内核,我认为您必须从本质上复制apt-auto-removal脚本概念。编写一个脚本,运行该脚本并生成适当的配置,指定APT::NeverAutoRemove块中要保留的内容。您甚至可以简单地下载旧apt-auto-removal脚本/etc/kernel/postinst.d/并对其进行修补,以保留所需的内核数量,但我尚未对此进行测试。

apt-auto-removal脚本最近从软件包中删除apt,并添加了保护内核免受自动删除的逻辑apt。由于该脚本仅在安装内核时运行,因此有些极端情况无法正确处理。从apt 变更日志

apt (2.1.16) unstable; urgency=medium
...
  * Rewrite of the kernel autoremoval code:
    - Determine autoremovable kernels at run-time (LP: #1615381), this fixes the
      issue where apt could consider a running kernel autoremovable
    - Automatically remove unused kernels on apt {full,dist}-upgrade.
      This helps ensuring that we don't run out of /boot space.
    - Only keep up to 3 (not 4) kernels.
      Ubuntu boot partitions were sized for 3 kernels, not 4.
...
 -- Julian Andres Klode <[email protected]>  Fri, 08 Jan 2021 21:49:15 +0100

根据apt 源代码看起来使用“运行时”逻辑apt不会自动删除

  • 已启动的内核
  • 最新内核
  • 前一个内核

我没有看到任何明显的方式来配置不同的行为。以下是一些apt可能有用的配置选项。

APT
{
...
  NeverAutoRemove "<LIST>";  // list of package name regexes
  LastInstalledKernel "<STRING>"; // last installed kernel version
  VersionedKernelPackages "<LIST>"; // regular expressions to be protected from autoremoval (kernel uname will be appended)
  Protect-Kernels "<BOOL>"; // whether to protect installed kernels against autoremoval (default: true)

链接

相关内容