Ubuntu - 删除未使用的内核

Ubuntu - 删除未使用的内核

随着 Ubuntu 的更新,GRUB 菜单会列出很多以前的 Linux 内核,占用大量硬盘空间。如何轻松删除未使用的内核?

答案1

下面提到的解决方案是 Ubuntu 特有的。

  1. 检查当前正在使用的内核:

    uname -r
    
  2. 列出所有已安装的内核映像和头文件:

    dpkg --list | grep linux-image
    dpkg --list | grep linux-headers
    
  3. 删除您想要删除的内核的图像和头文件:

    sudo apt-get purge linux-image-3.19.0-15
    sudo apt-get purge linux-headers-3.19.0-15
    

    上述命令将删除内核映像及其相关的内核模块和头文件。

  4. 删除未使用的内核后,更新 GRUB 配置。

    sudo update-grub2
    
  5. 现在重新启动并验证 GRUB 菜单是否已被正确清理。

答案2

从系统->管理菜单打开 Synaptic 包管理器。

点击工具栏上的“搜索”按钮,搜索linux-image-2

结果应显示所有可用和已安装的内核。左侧的绿色框表示软件包已安装。您要安装的唯一 Linux 映像是最新的。找到与您当前运行的内核相对应的软件包(这是您在终端窗口中找到的内核)。确保保留该内核。现在,您可以通过单击其框并选择“标记为删除”从列表中卸载旧内核。

来自这里

答案3

打开终端并运行以下命令。重启后,GRUB 菜单中只会显示最新的内核。

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

运行上述命令需要 root 密码。

谢谢Ubuntu 天才

答案4

在 byobu 包中有一个名为“purge-old-kernels”的脚本:

apt-get install byobu
purge-old-kernels

您可以指定除当前正在使用的内核之外要保留多少个内核:

purge-old-kernels --keep 2

如果需要的话,请将其放入 cron 中。

看:https://raw.githubusercontent.com/dustinkirkland/byobu/master/usr/bin/purge-old-kernels

相关内容