/boot 充满了内核 – 要删除什么?

/boot 充满了内核 – 要删除什么?

我们有一些 Ubuntu 16.04 服务器。unattended-upgrades自 16.04 起自动启用,并且 /boot是一个单独的分区。由于自动安全更新,新内核的引导分区空间不足。

我们无法重新启动系统(出于可用性原因),因此机器仍在使用倒数第二个内核。

我应该删除哪些内核?除了当前的、最旧的和最新的之外的所有其他吗?

你们有一些建议吗?

我还注意到最新的内核状态为“半配置”。这个内核可能无法工作,所以我应该删除这个内核并使用旧的内核吗?

输出dpkg -l | grep linux-image

ii  linux-image-4.4.0-21-generic --> old kernel
ii  linux-image-4.4.0-34-generic --> current kernel
ii  linux-image-4.4.0-36-generic --> new kernel
ii  linux-image-4.4.0-38-generic --> new kernel
ii  linux-image-4.4.0-42-generic --> new kernel
ii  linux-image-4.4.0-45-generic --> new kernel
ii  linux-image-4.4.0-47-generic --> new kernel
ii  linux-image-4.4.0-51-generic --> new kernel
ii  linux-image-4.4.0-53-generic --> new kernel
iF  linux-image-4.4.0-57-generic --> new kernel

答案1

要清除旧内核,您可以使用purge-old-kernels命令行工具。

该程序将从系统中删除旧的内核和头文件包,释放磁盘空间。它永远不会删除当前正在运行的内核。默认情况下,它将至少保留最新的 2 个内核,但用户可以使用 --keep 参数覆盖该值。任何附加参数将直接传递给apt-get

安装purge-old-kernels, 跑步:

sudo apt install byobu

或者

sudo apt install bikeshed

要保持最新的n内核运行:

sudo purge-old-kernels --keep n

例如,g:n=2

sudo purge-old-kernels --keep 2

更新grub

sudo update-grub

答案2

对于 Ubuntu,Grub2 自动显示最新的内核并隐藏旧的内核。如果您想看到它们,可以在启动时按 Shift 键。

因此,在删除旧内核之前,请使用最新的可用内核启动(grub2 在启动时默认加载它)。要检查您正在使用哪个内核,可以使用以下命令:

uname -r

建议保留至少两个或最好三个内核,包括最新的内核。原因是,如果您无法使用最新的内核启动,您将至少有一个/两个其他内核可以启动。

要删除旧内核,请打开终端并检查当前内核:

uname -r 

然后列出系统上所有已安装的内核。

dpkg --list | grep linux-image 

查找所有低于当前内核的内核。运行以下命令来删除您选择的内核:

sudo apt-get purge linux-image-x.x.x.x-generic 

最后,运行以下命令来更新 grub2

sudo update-grub2 

并重新启动您的系统。

答案3

apt-get autoremove,定期运行,应该能够帮助你完成你想要的事情。正在运行的内核、以前的内核和两个最新的内核应该足够了。

答案4

引导以前的内核之一。

第一次尝试apt autoremove --purge

如果不起作用 dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'

控制要卸载的内容。

dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo dpkg -P 这将从下面的命令中清除 listet 内核。

sudo apt -f install

当然

 sudo update-grub

相关内容