从menu.lst中删除旧内核是否安全?
当计算机启动时,除了通常的内容之外,GRUB还会显示一长串先前的内核,例如
Ubuntu 10.10, kernel 2.6.35-23-generic Ubuntu 10.10, kernel 2.6.35-23-generic (recovery mode) Ubuntu 10.10, kernel 2.6.35-22-generic Ubuntu 10.10, kernel 2.6.35-22-generic (recovery mode) [6 more similar] Ubuntu 10.10, memtest86+ Other operating systems: Dell Utility Partition Windows Vista (loader)
从/etc/grub/menu.lst
删除那些额外的“Ubuntu 10.10,内核”行是否安全? 目前我已经从第三个注释到(不包括)memtest86。 但我想知道是否因特殊原因需要它们?
安全但毫无意义。 下次update-grub
运行时,它们可能会重新启动。
内核作为包安装,因此可以像其他包一样删除。 只需点击grub就可以获得数百兆的磁盘空间。
它们曾经作为非自动安装,但现在可以安全地删除:
sudo apt-get autoremove
如果您手动安装了内核和各种辅助包,则可以看到使用此命令安装的内核版本:
dpkg -l | awk '$2~/linux-(im|he|to).+[0-9]/ {print $2}'
那会告诉你这样的事情:
linux-headers-3.13.0-24 linux-headers-3.13.0-24-generic linux-image-3.13.0-24-generic linux-image-extra-3.13.0-24-generic
从那里你可以使用sudo apt-get purge
删除东西。 只要确保你没有删除当前或最新的内核 ( uname -a
以查看你所使用的版本)并且我同意其他人所说的内容,请保留下一个最新的内核以防万一。
这是我尽最大努力安全地检测和执行此操作:
current=$(uname -r) kernels=( /lib/firmware/[0-9].* ) dpkg -l | awk '$2~/linux-(im|he|to).+[0-9]/ {print $2}' \ | grep -Ev "$current|${kernels[-1]##*/}" \ | xargs sudo apt-get purge
注意 :这仍然会克服棘手的情况。 如果安装了HWE堆栈,它将删除像linux-image-generic
这样的东西。 这对您来说可能是也可能不是一个大问题。 这些包(尽管它们看起来很重要) 不会级联删除整个桌面。 你会留下当前的(因为它工作)和最高版本的内核。 如果您最近重新启动,那可能是同一个。
是。 但我建议将前一个留在那里,以防万一你的默认问题给出了任何奇怪的问题。 如果您碰巧至少有一整周的测试没有问题,您可以删除旧的并更新grub的配置。 或者,如果您只是想查看其他版本,则只需编辑grub.cfg文件并删除其中的菜单选项,而无需删除实际的旧内核。 那样你就拥有它们以防万一。 除了内核并没有那么大的担心嘿嘿。
是的,这是安全的。 但只有在你确定最新的内核工作正常时才这样做。 还要保留旧内核,以便在出现问题时手动启动它们。
那么memtest以及当前内核和当前内核恢复模式应该留在那里,但只要新内核工作正常,那么删除旧内核就没有问题。
从包管理器中删除它们,它们将自动消失
例如:
apt-get remove linux-image-2.6.35-22-generic