当我运行时dpkg --list 'linux-image*'
,输出显示我只4.10.0-37
安装了:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=========================-=================-=================-=======================================================
un linux-image <none> <none> (no description available)
ii linux-image-4.10.0-37-gen 4.10.0-37.41 amd64 Linux kernel image for version 4.10.0 on 64 bit x86 SMP
ii linux-image-extra-4.10.0- 4.10.0-37.41 amd64 Linux kernel extra modules for version 4.10.0 on 64 bit
ii linux-image-generic 4.10.0.37.37 amd64 Generic Linux kernel image
然而,当我显示的内容时/boot
,还有其他旧内核:
[~]$ ls /boot
abi-4.10.0-37-generic config-4.8.0-37-generic memtest86+.bin vmlinuz-4.10.0-37-generic
abi-4.2.0-16-generic efi memtest86+.elf vmlinuz-4.10.0-37-generic.efi.signed
abi-4.2.0-42-generic grub memtest86+_multiboot.bin vmlinuz-4.2.0-16-generic
abi-4.8.0-37-generic initrd.img-4.10.0-37-generic System.map-4.10.0-37-generic vmlinuz-4.2.0-42-generic
config-4.10.0-37-generic initrd.img-4.2.0-16-generic System.map-4.2.0-16-generic vmlinuz-4.2.0-42-generic.efi.signed
config-4.2.0-16-generic initrd.img-4.2.0-42-generic System.map-4.2.0-42-generic vmlinuz-4.8.0-37-generic
config-4.2.0-42-generic initrd.img-4.8.0-37-generic System.map-4.8.0-37-generic vmlinuz-4.8.0-37-generic.efi.signed
我在跑步4.10.0-37
:
[~]$ uname -r
4.10.0-37-generic
我可以安全地从中删除旧内核 () 吗/boot
?使用sudo apt-get remove ...
不会执行任何操作,因为它们当前尚未“安装”。
答案1
您可以安全地从 /boot 中删除未使用的内核。
理想情况下,您希望使用包管理器(apt)来删除它们,因此您可能想看看是否可以使用以下命令删除它们:
sudo apt-get purge linux-image-4.2.0-16-generic
或者如果 apt 不起作用:
sudo dpkg --purge linux-image-4.2.0-16-generic
对您想要删除的内核(4.2.0-16、4.2.0-42 等)添加或重复上述操作。
如果上述方法不起作用,您可以手动删除它们:
sudo rm /boot/abi-4.2.0-16-generic
sudo rm /boot/config-4.2.0-16-generic
sudo rm /boot/initrd.img-4.2.0-16-generic
sudo rm /boot/System.map-4.2.0-16-generic
sudo rm /boot/vmlinuz-4.2.0-16-generic
或者如果你喜欢冒险,可以尝试以下方法:
sudo rm /boot/*-4.2.0-16-generic
有时会保留一个附加内核(相对于您正在运行的内核)作为备份,因此您可能需要这样做,以防当前正在运行的内核出现问题。
删除这些文件后,您应该更新您的引导加载程序,如果您使用 GRUB,您可以执行以下操作:
sudo update-grub
我还会考虑使用从 apt 中删除软件包但不删除文件的“清理”工具是否对您有好处。
编辑:
正如 WinEunuuchs2Unix 指出的那样,这不会删除头文件。通常,在删除旧内核时,您不仅会删除映像,还会删除其他相关文件。例如:
apt-get purge linux-image-4.2.0-16-generic linux-image-extra-4.2.0-16-generic linux-headers-4.2.0-16-generic linux-headers-4.2.0-16
请参阅下面的链接了解更多详细信息。