我已经用完了 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 更新时不会出现任何问题……
脚注:发现一个错误报告关于这个问题。