昨晚我们的系统耗尽了索引节点。幸运的是,我设法使用以下步骤删除了一些旧内核
sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v \
uname -r | xargs sudo apt-get purge $1
sudo apt-get autoremove
sudo update-grub
我设法找回一些 inode,但仍然有超过 85 个 inode 被占用。
使用ncdu
我发现这些/usr/src/linux-headers-3.16.0.[69|71|73|..]
目录仍然包含一些旧的内核头文件。
鉴于我当前的 Linux 版本是 ,我不确定是否需要它们3.19.0-80-generic
。
所以我在这里有两个问题:
删除它们安全吗?
如果是的话如何删除它们?
答案1
这在Ubuntu 维基;我在这里总结一下。
关于你的问题的第一部分,Ubuntu 内核设置了适当的配置,以确保apt autoremove
不会删除正在运行的内核(以及最新的内核和一个备份内核);因此,您可以通过将所有过时的内核标记为自动安装来删除它们(以防它们丢失该标记):
sudo apt-mark auto '^linux-image-[34].*'
(这将为所有内核软件包产生警告不是已安装,但可以忽略它们),然后删除过时的软件包:
sudo apt autoremove
内核标头也可以安全删除,并且受到与内核映像相同的配置的保护,因此适用相同的方法:
sudo apt-mark auto '^linux-headers-[34].*'
sudo apt autoremove