要删除哪些 Linux 标头?

要删除哪些 Linux 标头?

我已经用完了 inode ( IUse% = 100%),当我运行来自的命令时答案,/usr/src包含最多文件(linux-headers*)。基于答案是,我想删除旧的linux-headers,但我不清楚哪些是最旧的/未使用的。

的内容/usr/src/linux-headers*为:

linux-headers-3.13.0-24
linux-headers-3.13.0-24-generic
linux-headers-3.13.0-33
linux-headers-3.13.0-33-generic
linux-headers-3.13.0-34
linux-headers-3.13.0-34-generic
linux-headers-3.13.0-37
linux-headers-3.13.0-37-generic
linux-headers-3.13.0-39
linux-headers-3.13.0-39-generic
<snip>
linux-headers-3.13.0-112
linux-headers-3.13.0-112-generic
linux-headers-3.13.0-113
linux-headers-3.13.0-113-generic

uname -r给出3.13.0-34-generic

我可以安全地删除哪些标题(使用sudo rm -rf /usr/src/linux-headers-3.13.0-x*)?

如果我正在运行3.13.0-34,是否3.13.0-37通过3.13.0-113更新或我误解了数字序列?

答案1

不要 rm -rf 标题;通过包名称删除标题;例如,使用sudo apt-get remove linux-headers-3.13.0-24

通常,您可以删除不使用的内核上的标头。但是,您应该运行最新的内核,即编号最高的内核,在您的例子中,该内核是 3.13.0-113-generic。也许重新运行sudo update-grub将确保最新内核是第一个被启动的内核。

答案2

我无法得到关于哪些 linux-headers 可以安全删除的明确答案,因此我冒险决定,因为我正在运行 3.13.0-33-通用3.13.0-34-通用3.13.0-113-通用是最新的,其他 linux-header 都是 toasting 的候选。

sudo mv linux-headers-3.13.0-70*通过linux-headers-3.13.0-79*到另一个分区。这样就释放了足够的 inode,使用率降至约 90%。

然后sudo apt-get purge从 linux-headers-3.13.0-37* 到 linux-headers-3.13.0-49*,释放了更多 inode。然后我可以继续安装(讽刺的是,这是最新的内核)。我重新启动后一切正常。

然后sudo mv linux-headers-3.13.0-70*通过linux-headers-3.13.0-79*返回/usr/src并执行sudo apt-get purge与上述相同的操作。

在两次拍卖中purge我都收到了警告:

dpkg: warning: while removing linux-headers-3.13.0-70-generic, directory '/lib/modules/3.13.0-70-generic' not empty so not removed

我怀疑这与 VirtualBox 有关,因此希望将来 VirtualBox 更新时不会出现任何问题……

脚注:发现一个错误报告关于这个问题。

相关内容