Linux: überflüssige alte Kernel löschen

Ich habe mal gelesen, dass es mit neueren Linux-Distributionen nicht mehr zur früheren Ansammlung alter Kernel und zugehöriger Header-Pakete käme, wenn neue Kernel installiert werden. Obwohl meine derzeit noch laufende Ubuntu-Version 14.04 nun nicht unbedingt alt ist, fand ich heute ein gutes Dutzend solcher alter Pakete, die insgesamt über ein Gigabyte Platz benötigten.

Wenn das Boot-Verzeichnis in einer eigenen Partition liegt, kann das dazu führen, dass diese voll wird und dann keine Kernel-Updates mehr gemacht werden können.

Hier wiki.ubuntuusers.de/Skripte/Alte_Kernel_entfernen

wird beschrieben, wie man diesen Müll sicher und schnell entfernt. Die Kurzfassung:

dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | tee zu_entfernende_Kernel

cat zu_entfernende_Kernel | xargs sudo apt-get -y purge
rm zu_entfernende_Kernel

Nicht vergessen: entweder jeweils sudo davor oder gleich in einer root-Shell machen! Achtung, die erste Zeile ist überlang, bitte komplett markieren! Die Datei „zu_entfernende_Kernel“ kann man nach dem ersten Schritt noch bearbeiten, falls man bestimmte Kernel dennoch aufheben möchte – das ist der Vorteil gegenüber Lösungen, die gleich alles in einem Rutsch machen.