Eliminar kernels antiguos

Con las actualizaciones periódicas a veces se instalan versiones del kernel sin eliminar las antiguas. Por lo que en el GRUB aparecen todas las versiones que tengas. Entonces las tendremos que eliminar nosotros mismos. Aquí les explicaré cómo se hace...

IMPORTANTE
No desinstales el kernel linux-image-generic ya que es necesario para recibir actualizaciones del kernel.
Para saber qué kernel no tenemos que borrar porque es con el que estamos trabajando, hacemos:

uname -r
  • Para saber los nombres de los kernel a borrar, escribimos:
    dpkg --get-selections | grep linux-image

    Nos aparecerá:

    linux-image-2.6.28-11-generic                   install
    linux-image-2.6.28-13-generic                   install
    linux-image-generic                             install
  • Y luego hacemos:
    sudo apt-get --purge remove linux-image-2.6.28-11-generic

Esto lo que hará es eliminarnos del GRUB las entradas de los kernels antiguos, pero si queremos eliminar los módulos linux-headers y linux-restricted hacemos el mismo procedimiento:

dpkg --get-selections | grep linux-headers
sudo apt-get --purge remove linux-headers-2.6.28-11-generic
dpkg --get-selections | grep linux-restricted
sudo apt-get --purge remove linux-restricted-2.6.28-11-generic

Y para hacerlo más rápido:

dpkg --get-selections | grep linux-image && dpkg --get-selections | grep linux-headers && dpkg --get-selections | grep linux-restricted

Aquí les dejo otra forma de hacerlo de un plumazo:

$ sudo apt-get --purge remove $(dpkg --get-selections | grep linux- | grep headers | grep -v headers-generic | grep -v $(echo $(uname -r | cut -d \- -f1)-$(uname -r | cut -d \- -f2)) | awk '{print $1}'; dpkg --get-selections | grep linux- | grep image | grep -v image-generic | grep -v $(echo $(uname -r | cut -d \- -f1)-$(uname -r | cut -d \- -f2)) | awk '{print $1}')

Agradecimientos a Stalker por su colaboración.