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
  • 26,018
Make42
  • 409
  • 4
  • 14
  • What version of Ubuntu? – David Sep 30 '21 at 11:33
  • Why does it bother you that they show on this list? The dpkg --list shows the history, and the packages are clearly marked as "removed". If you only want to list images that are currently installed, use grep: dpkg --list 'linux-image*' | grep ii – Artur Meinild Sep 30 '21 at 11:38
  • @David why does the Ubuntu version matter that much? It's not like the function of dpkg --list has changed drastically over the last years. Aside from that, it's pretty clear from kernel history that the version is 20.04. – Artur Meinild Sep 30 '21 at 11:44
  • @ArturMeinild: Thanks. I found at https://askubuntu.com/a/18807/402358 what the two-letter-markers mean. "rc" means that the "desired package state" is that the package is Removed, and that the "current package state" is that Config files are installed. – Make42 Oct 02 '21 at 11:28

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
  • 99,918