清除旧的 Linux 映像后可以安全删除 /usr/src/linux-headers 吗?

清除旧的 Linux 映像后可以安全删除 /usr/src/linux-headers 吗?

我正在运行 Ubuntu 12.04 和两个活动 Linux 映像 3.2.0-37 和 3.2.0-36。在 /usr/src/ 目录中我发现:

linux-headers-3.2.0-23    
linux-headers-3.2.0-23-generic    
linux-headers-3.2.0-26    
linux-headers-3.2.0-26-generic
linux-headers-3.2.0-29    
linux-headers-3.2.0-29-generic
linux-headers-3.2.0-31    
linux-headers-3.2.0-31-generic    
linux-headers-3.2.0-32    
linux-headers-3.2.0-32-generic    
linux-headers-3.2.0-33    
linux-headers-3.2.0-33-generic    
linux-headers-3.2.0-34    
linux-headers-3.2.0-34-generic    
linux-headers-3.2.0-35    
linux-headers-3.2.0-35-generic    
linux-headers-3.2.0-36    
linux-headers-3.2.0-36-generic     
linux-headers-3.2.0-37     
linux-headers-3.2.0-37-generic

今天我sudo apt-get purge linux-image-x.x.x.x-generic *34和*35

我必须补充一点,/boot 仅包含 *36 和 *37。

删除除 *37 和 *36 之外的所有这些是否安全?提前谢谢您。

答案1

这些是包含在linux-headers-*linux-headers-*-generic包中的头文件。通过 apt-get 删除它们应该是安全的。也许apt-get autoremove已经向您建议了。请不要手动删除它们!

答案2

我刚刚遇到了这个问题,并且使用的建议apt-get autoremove对我来说不起作用。

我通过以下方式解决了它:

sudo apt-get purge linux-headers-3.2.0-23

在这样的 Linux 标头上/usr/src。我没有删除与当前正在使用的内核相对应的标头。

已成功重启服务器。

答案3

对于多年后通过 Google 搜索回来的任何人:您还可以在 Synaptic 包管理器中卸载旧内核。只需在终端中输入“uname -a”即可仔细检查您当前正在使用哪一个。

答案4

这非常相似,但比用户 12345 的回答中 Reinier Post 的有用评论更具可读性。

apt list --installed linux-*5* | grep -v $(uname -r) | xargs sudo apt -y purge

它遗漏了一个没有标准编号的开发头文件包,但也没有拾取 Alsa 的 linux-sound-base,这可能是需要的。您可以通过删除 xargs 管道来比较两者,如下所示dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/(.*)-([^0-9]+)/1/")"'/d;s/^[^ ]* [^ ]* ([^ ]*).*/1/;/[0-9]/!d'

相关内容