我正在运行 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'