安全删除/boot目录下的旧文件。

哪些文件可以安全删除以释放/boot目录下的空间?为了将来的需要,我如何知道哪些文件正在使用中,哪些是过时的?
root@ubu:/boot# ls -l
total 153003
-rw-r--r-- 1 root root  1162712 ago 13 18:45 abi-3.13.0-34-generic
-rw-r--r-- 1 root root  1163858 ago 15 04:56 abi-3.13.0-35-generic
-rw-r--r-- 1 root root  1164509 nov 13 19:30 abi-3.13.0-40-generic
-rw-r--r-- 1 root root  1164720 dic  8 21:28 abi-3.13.0-43-generic
-rw-r--r-- 1 root root   165611 ago 13 18:45 config-3.13.0-34-generic
-rw-r--r-- 1 root root   165652 ago 15 04:56 config-3.13.0-35-generic
-rw-r--r-- 1 root root   165745 nov 13 19:30 config-3.13.0-40-generic
-rw-r--r-- 1 root root   165745 dic  8 21:28 config-3.13.0-43-generic
drwxr-xr-x 5 root root     1024 dic 12 11:53 grub
-rw-r--r-- 1 root root 28321722 ago 20 08:49 initrd.img-3.13.0-34-generic
-rw-r--r-- 1 root root 28332451 nov 16 22:45 initrd.img-3.13.0-35-generic
-rw-r--r-- 1 root root 28350706 dic  2 10:47 initrd.img-3.13.0-40-generic
-rw-r--r-- 1 root root 28386822 dic 12 11:53 initrd.img-3.13.0-43-generic
drwx------ 2 root root    12288 jul 21 12:21 lost+found
-rw-r--r-- 1 root root   176500 mar 12  2014 memtest86+.bin
-rw-r--r-- 1 root root   178176 mar 12  2014 memtest86+.elf
-rw-r--r-- 1 root root   178680 mar 12  2014 memtest86+_multiboot.bin
-rw------- 1 root root  3381262 ago 13 18:45 System.map-3.13.0-34-generic
-rw------- 1 root root  3386444 ago 15 04:56 System.map-3.13.0-35-generic
-rw------- 1 root root  3387231 nov 13 19:30 System.map-3.13.0-40-generic
-rw------- 1 root root  3388760 dic  8 21:28 System.map-3.13.0-43-generic
-rw------- 1 root root  5797728 ago 13 18:45 vmlinuz-3.13.0-34-generic
-rw------- 1 root root  5806368 ago 15 04:56 vmlinuz-3.13.0-35-generic
-rw------- 1 root root  5808960 nov 13 19:30 vmlinuz-3.13.0-40-generic
-rw------- 1 root root  5814080 dic  8 21:28 vmlinuz-3.13.0-43-generic

这个问题之前已经被问过了,请看一下这个链接:http://askubuntu.com/questions/89710/how-do-i-free-up-more-space-in-boot - Minos
这个回答适用于一个特定的情况,但解决方案并不那么直接。我正在寻求一个普遍而直接的解决方案。 - K. Weber
你说的“不是那么直接”的解决方案是什么意思?你的问题和那个问题都是关于清理/boot空间,这个空间被安装的内核使用,“直接”的解决方案是删除任何未使用的内核。这在那个问题的答案中已经解释过了。 - Minos
这不是重复的,这个答案更好更简洁,另一个问题中没有提到uname -a,而这是判断哪些是安全删除的关键信息。 - K. Weber
1个回答

首先,你需要知道你正在运行的内核。你可以通过以下方式来查看:
$ uname -a
Linux hostname 3.2.0-74-generic #109-Ubuntu SMP Tue Dec 9 ....
3.2.0-74-generic 是最有趣的部分。如果你浏览这些文件,你会注意到总是有相同的5个文件和相同的数字。据我所知,这些文件构建了特定内核版本的每个版本/安装程序。现在要删除旧版本的内核,只需删除旧版本的所有5个文件。要删除“3.13.0-34”只需删除含有"3.13.0-34"的所有文件。

更新:在我再次搜索时,我在这里找到了一个更简单的解决方案:由于/boot上的空间不足,无法更新Ubuntu应用程序

sudo apt-get remove --purge linux-image-3.11.0-XX-generic 

在这里,linux-image-XXX 应相应地填入您想要删除的内核版本。


1快速提示:uname -r显示内核描述的有趣部分。还可以查看这个链接:https://askubuntu.com/questions/2793/how-do-i-remove-old-kernel-versions-to-clean-up-the-boot-menu - Yvo
1还有sudo apt-get remove --purge linux-headers-3.11.0-XX-generic - mulllhausen