0

I followed https://www.jamescoyle.net/how-to/1974-how-to-fix-a-full-boot-partition-on-linux to delete old kernels.

I checked with uname -a that my current kernel version is

Linux DarkPhoenix2004 5.4.0-88-generic #99-Ubuntu SMP Thu Sep 23 17:29:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

and ran

$ dpkg --list 'linux-image*'
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name                                  Version      Architektur  Beschreibung
+++-=====================================-============-============-=================================
un  linux-image                           <keine>      <keine>      (keine Beschreibung vorhanden)
rc  linux-image-5.4.0-42-generic          5.4.0-42.46  amd64        Signed kernel image generic
rc  linux-image-5.4.0-58-generic          5.4.0-58.64  amd64        Signed kernel image generic
ii  linux-image-5.4.0-59-generic          5.4.0-59.65  amd64        Signed kernel image generic
rc  linux-image-5.4.0-60-generic          5.4.0-60.67  amd64        Signed kernel image generic
rc  linux-image-5.4.0-62-generic          5.4.0-62.70  amd64        Signed kernel image generic
rc  linux-image-5.4.0-64-generic          5.4.0-64.72  amd64        Signed kernel image generic
rc  linux-image-5.4.0-65-generic          5.4.0-65.73  amd64        Signed kernel image generic
rc  linux-image-5.4.0-66-generic          5.4.0-66.74  amd64        Signed kernel image generic
rc  linux-image-5.4.0-67-generic          5.4.0-67.75  amd64        Signed kernel image generic
rc  linux-image-5.4.0-70-generic          5.4.0-70.78  amd64        Signed kernel image generic
rc  linux-image-5.4.0-71-generic          5.4.0-71.79  amd64        Signed kernel image generic
rc  linux-image-5.4.0-72-generic          5.4.0-72.80  amd64        Signed kernel image generic
rc  linux-image-5.4.0-73-generic          5.4.0-73.82  amd64        Signed kernel image generic
rc  linux-image-5.4.0-74-generic          5.4.0-74.83  amd64        Signed kernel image generic
rc  linux-image-5.4.0-77-generic          5.4.0-77.86  amd64        Signed kernel image generic
rc  linux-image-5.4.0-80-generic          5.4.0-80.90  amd64        Signed kernel image generic
ii  linux-image-5.4.0-81-generic          5.4.0-81.91  amd64        Signed kernel image generic
rc  linux-image-5.4.0-84-generic          5.4.0-84.94  amd64        Signed kernel image generic
ii  linux-image-5.4.0-86-generic          5.4.0-86.97  amd64        Signed kernel image generic
ii  linux-image-5.4.0-88-generic          5.4.0-88.99  amd64        Signed kernel image generic
ii  linux-image-generic                   5.4.0.88.92  amd64        Generic Linux kernel image
un  linux-image-unsigned-5.4.0-42-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-58-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-59-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-60-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-62-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-64-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-65-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-66-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-67-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-70-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-71-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-72-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-73-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-74-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-77-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-80-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-81-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-84-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-86-generic <keine>      <keine>      (keine Beschreibung vorhanden)
un  linux-image-unsigned-5.4.0-88-generic <keine>      <keine>      (keine Beschreibung vorhanden)

then I removed kernels with

sudo apt-get remove linux-image-5.4.0-42-generic linux-image-5.4.0-58-generic

and rebooted the computer. Now the command dpkg --list 'linux-image*' still returns the same list as above. Why were the kernels 5.4.0-42 and 5.4.0-58 not deleted from the list and how can I get rid of the entries in the list? Place on /boot has been freed though.

Artur Meinild
  • 31,035
Make42
  • 439

1 Answers1

1

To remove uninstalled kernels you have to parse dpkg -l output as follows

sudo apt-get autopurge $(dpkg -l | grep linux-image | grep -v ^ii | awk '{print $2}')

where dpkg -l | grep linux-image | grep -v ^ii | awk '{print $2}' is self-explanatory - we get list of installed packages, filter the linux-image occurrences, then filter not installed packages and finally get their names from column 2.

N0rbert
  • 103,263