随着 Ubuntu 的更新,GRUB 菜单会列出很多以前的 Linux 内核,占用大量硬盘空间。如何轻松删除未使用的内核?
答案1
下面提到的解决方案是 Ubuntu 特有的。
检查当前正在使用的内核:
uname -r
列出所有已安装的内核映像和头文件:
dpkg --list | grep linux-image dpkg --list | grep linux-headers
删除您想要删除的内核的图像和头文件:
sudo apt-get purge linux-image-3.19.0-15 sudo apt-get purge linux-headers-3.19.0-15
上述命令将删除内核映像及其相关的内核模块和头文件。
删除未使用的内核后,更新 GRUB 配置。
sudo update-grub2
现在重新启动并验证 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