我无法删除旧内核,Ubuntu 14.04

我无法删除旧内核,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:是否可以删除当前内核或附加组件(linux-image-extra-3.13.0-24-generic)并同时安装最新内核,所有这些都使用 Synaptic?

答案1

打开终端(++ CTRL)并检查当前内核版本:ALTT

uname -r

请不要删除这个内核!

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

dpkg --list | grep linux-image

找出您想要删除的内核,然后运行以下命令来完成它:将xxxx改为内核版本

sudo apt-get purge linux-image-x.x.x.x-generic

答案2

看起来你有一堆不属于任何包的文件。假设你目前正在运行 3.13.0,你可以这样做rm /boot/*-3.0.0-12-generic

答案3

您可以使用以下 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

答案4

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

相关内容