如何安全地删除旧的内核头文件和库

Rat*_*lle 3 ubuntu

昨晚我们的系统用完了inode。幸运的是,我设法使用以下步骤删除了一些旧内核

  1. sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v \ uname -r | xargs sudo apt-get purge $1

  2. sudo apt-get autoremove

  3. sudo update-grub

我设法找回了一些 inode,但仍有超过 85 个 inode 被占用。

使用ncdu我发现/usr/src/linux-headers-3.16.0.[69|71|73|..]目录仍然包含一些旧的内核头文件。

鉴于我当前的 Linux 版本是3.19.0-80-generic.

所以我在这里有两个问题:

  1. 删除它们是否安全?

  2. 如果是如何删除它们?

Ste*_*itt 8

这在Ubuntu wiki中有详细介绍;我在这里总结一下。

关于您问题的第一部分,Ubuntu 内核设置了适当的配置以确保apt autoremove不会删除正在运行的内核(以及最新的内核和一个备份内核);所以你可以通过将它们标记为自动安装来删除所有过时的内核(以防它们丢失了该标记):

sudo apt-mark auto '^linux-image-[34].*'
Run Code Online (Sandbox Code Playgroud)

(这将对所有未安装的内核包产生警告,但可以忽略它们),然后删除过时的包:

sudo apt autoremove
Run Code Online (Sandbox Code Playgroud)

内核头文件也可以安全删除,并受与内核映像相同的配置保护,因此适用相同的配方:

sudo apt-mark auto '^linux-headers-[34].*'
sudo apt autoremove
Run Code Online (Sandbox Code Playgroud)