Alte Kernel inkl. Header löschen

Durch automatische Updates werden neue Versionen des Kernels auf dem System installiert. Dies erkennt man, wenn man beim Booten des System in GRUB mehrere Einträge zum Booten des Systems sieht. Wenn das wie bei mir mittlerweile so viele sind das man scrollen kann, kommt die Überlegung auf doch mal den ein oder anderen Kernel zu entfernen.

Linux Kernel

Es gibt zwei Möglichkeiten diese zu entfernen. Erstens über die Paketverwaltung. Dort jeden einzelnen Kernel von Hand raussuchen und entfernen. Dadurch wird nicht nur der alte Kernel sondern auch die Header Dateien gelöscht. Die zweite Möglichkeit erspart das suchen, ist aber nichts für Konsolenhasser. Ein Befehl reicht und es werden alle alten Kernel gelöscht inklusive aller Kernel-Header Dateien.

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/(.*)-([^0-9]+)/1/")"'/d;s/^[^ ]* [^ ]* ([^ ]*).*/1/;/[0-9]/!d' | xargs sudo apt-get -y purge

Das schaut dann ungefähr so auf der Konsole aus:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/(.*)-([^0-9]+)/1/")"'/d;s/^[^ ]* [^ ]* ([^ ]*).*/1/;/[0-9]/!d' | xargs sudo apt-get -y purge
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Lese Status-Informationen ein... Fertig
Die folgenden Pakete werden ENTFERNT:
linux-headers-2.6.31-14* linux-headers-2.6.31-14-generic* linux-headers-2.6.31-15* linux-headers-2.6.31-15-generic*
linux-headers-2.6.31-16* linux-headers-2.6.31-16-generic* linux-headers-2.6.31-17* linux-headers-2.6.31-17-generic*
linux-headers-2.6.31-19* linux-headers-2.6.31-19-generic* linux-image-2.6.31-14-generic* linux-image-2.6.31-15-generic*
linux-image-2.6.31-16-generic* linux-image-2.6.31-17-generic* linux-image-2.6.31-19-generic*
0 aktualisiert, 0 neu installiert, 15 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 861MB Plattenplatz freigegeben.
(Lese Datenbank ... 269100 Dateien und Verzeichnisse sind derzeit installiert.)
Entferne linux-headers-2.6.31-14-generic ...
Entferne linux-headers-2.6.31-14 ...
Entferne linux-headers-2.6.31-15-generic ...
Entferne linux-headers-2.6.31-15 ...
Entferne linux-headers-2.6.31-16-generic ...
Entferne linux-headers-2.6.31-16 ...
Entferne linux-headers-2.6.31-17-generic ...
Entferne linux-headers-2.6.31-17 ...
Entferne linux-headers-2.6.31-19-generic ...
Entferne linux-headers-2.6.31-19 ...
Entferne linux-image-2.6.31-14-generic ...
Examining /etc/kernel/prerm.d.
run-parts: executing /etc/kernel/prerm.d/dkms