我无法删除旧内核,Ubuntu 14.04。

我尝试过Ubuntu Tweak、Synaptic以及一些在网上找到的命令行操作,但似乎都没有起作用。
这是dpkg -l linux-image-\* | grep ^ii的输出结果。
ii  linux-image-3.13.0-24-generic                               3.13.0-24.47                                        amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-24-generic                         3.13.0-24.47                                        amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-generic                                         3.13.0.24.29                                        amd64        Generic Linux kernel image

我的选择有哪些?我只需要为内核更新释放3 MB的空间。
先行致谢!
当我运行它时,会得到以下输出:
$ sudo update-grub
Generando archivo de configuración grub...
Se encontró una imagen linux: /boot/vmlinuz-3.13.0-24-generic
Se encontró una imagen initrd: /boot/initrd.img-3.13.0-24-generic
Se encontró una imagen linux: /boot/vmlinuz-3.0.0-19-generic
Se encontró una imagen initrd: /boot/initrd.img-3.0.0-19-generic
Se encontró una imagen linux: /boot/vmlinuz-3.0.0-17-generic
Se encontró una imagen initrd: /boot/initrd.img-3.0.0-17-generic
Se encontró una imagen linux: /boot/vmlinuz-3.0.0-16-generic
Se encontró una imagen initrd: /boot/initrd.img-3.0.0-16-generic
Se encontró una imagen linux: /boot/vmlinuz-3.0.0-12-generic
Se encontró una imagen initrd: /boot/initrd.img-3.0.0-12-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
Encontrado en Windows 7 (loader) en /dev/sda1
Encontrado en Windows 7 (loader) en /dev/sda8
hecho

但是当我尝试删除其中一项条目时,我看到的是这个:
$ sudo apt-get purge linux-image-3.0.0-12-generic
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
E: No se ha podido localizar el paquete linux-image-3.0.0-12-generic
E: No se pudo encontrar ningún paquete con la expresión regular «linux-image-3.0.0-12-generic»

基本上,它说找不到我要删除的软件包或图像。
$ dpkg -l linux-image* 
Deseado=Desconocido/Instalar/Eliminar/Purgar/Retener
| Estado=No/Instalado/Config-files/Desempaquetado/Medio-conf/Medio-inst/espera-disparo/pendiente-disparo
|/ Err?=(ninguno)/Requiere-reinst (Estado,Err: mayúsc.=malo)
||/ Nombre                                             Versión                        Arquitectura                   Descripción
+++-==================================================-==============================-==============================-==========================================================================================================
un  linux-image                                        <ninguna>                      <ninguna>                      (no hay ninguna descripción disponible)
un  linux-image-3.0                                    <ninguna>                      <ninguna>                      (no hay ninguna descripción disponible)
ii  linux-image-3.13.0-24-generic                      3.13.0-24.47                   amd64                          Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-24-generic                3.13.0-24.47                   amd64                          Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-generic

PS:是否可以使用Synaptic删除当前内核或额外的(linux-image-extra-3.13.0-24-generic),同时安装最新的内核?

也许可以尝试使用sudo apt-get autoclean或者sudo apt-get autoremove命令? - user285324
首先安装新内核,然后再删除旧内核。我建议您在删除旧内核之前先测试新内核。可能会发生一些意外情况。如果您只有一个内核空间,那么您的操作是错误的,需要调整/boot分区的大小。 - Danatela
@skyroma 谢谢,已经尝试过了,清空回收站也没有用。 - edoher
@Danatela 我以前总是可以升级我的内核,而Ubuntu Tweak会通过删除旧的内核来解决问题。现在似乎空间不足了,我不知道该删除什么来解决这个问题。 - edoher
请输出 dpkg -l linux-image* 的结果。 - bain
好的,刚刚根据您的要求编辑了问题并输出了结果。@bain - edoher
1看起来你有一堆不属于任何软件包的文件。假设你当前正在运行3.13.0版本,你可以直接执行rm /boot/*-3.0.0-12-generic命令。 - bain
干得好,@bain!你牛逼!我怎么把你的评论标记为答案? - edoher
4个回答

打开终端(CTRL+ALT+T),并检查当前的内核版本:
uname -r

请勿删除此内核!

复制并粘贴以下命令,然后运行以检查您系统上已安装的内核列表:

dpkg --list | grep linux-image

找出您想要删除的内核,并运行以下命令来完成:将 x.x.x.x 修改为内核版本
sudo apt-get purge linux-image-x.x.x.x-generic

看起来你有一堆不属于任何软件包的文件。假设你当前正在运行3.13.0版本,你可以直接执行rm /boot/*-3.0.0-12-generic命令。

你可以使用以下的bash脚本(以sudo权限运行)。 它会清除/删除所有“旧”的内核。
#/bin/bash 
ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g' | grep -v `uname -r` > /tmp/kernelList 
for I in `cat /tmp/kernelList`
do 
  #sudo aptitude remove $I 
  sudo apt-get purge --assume-yes $I
  #echo $I
done
rm -f /tmp/kernelList 
sudo update-grub

由于您的dpkg列表没有显示旧内核的软件包存在,可以随意从/boot目录中删除旧的不需要的文件。然后查看/lib/modules目录,并在那里删除旧的模块目录。当然,通过这种方式可以删除3.0.0-12、16和17版本,为新内核腾出足够的空间。