Kaum installiert man mal ein paar Jahre lang Updates in einem Ubuntu System, schon nimmt die Anzahl der installierten Linux Kernel überhand. Bei mir waren es ca. 4GB, die sich da angesammelt hatten. Die Lösung ist einfach: Wir werden alte Kernel unter Ubuntu löschen.
Ich persönlich würde neben dem aktuell verwendeten Kernel, der niemals gelöscht werden darf, noch zwei oder drei funktionierende andere Versionen aufheben. Sollte dann der aktuelle Kernel auf Basis eines Updates den Dienst versagen, hat man Alternativen auf die man zurück greifen kann.
Drei verschiedene Varianten die Kernel-Images zu entfernen:
Alte Kernel unter Ubuntu löschen mit Ubuntu-Tweak-Tool
Der einfachste Weg alter Kernel unter Ubuntu zu löschen ist das Ubuntu-Tweak-Tool. Es bietet eine „Hausmeister“-Funktion, die alle Kernel-Images anzeigt und anbietet entweder alle oder ausgewählte zu löschen. Leider funktioniert die aktuelle Version ab einer bestimmten Anzahl von alten Kernel-Images nicht mehr, sondern bringt beim Einlesen der Dateien eine Fehlermeldung.
Im Hausmeister-Dialog selektiert man einfach „Alte Kernel“ (links unten), dann werden die Kernel-Images auf der rechten Seite angezeigt. Dort wählt man die zu löschenden Pakete aus und klickt schließlich auf „Aufräumen“.
Alte Kernel unter Ubuntu löschen mit Synaptic
Alternativ kann man die Synaptic-Paketverwaltung starten und dort die Pakete manuell selektieren und deinstallieren lassen. Allerdings ist diese Variante eine ziemliche Klickerei, wenn man ca. 50 Kernel-Images suchen, selektieren und dann deinstallieren möchte.
Alte Kernel unter Ubuntu löschen in der Shell
Zu guter Letzt kommt die gute, alte Kommandozeile zum Einsatz. Einen guten, funktionierenden regulären Ausdruck, der alle relevanten Pakete aus der Paketliste heraus filtert habe ich bei Ubuntugenius gefunden.
Die Vorgehensweise habe ich allerdings etwas geändert, weil ich wir gesagt einige Versionen aufheben möchte.
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' > kernelliste
Jetzt die Datei kernelliste editieren und die Zeilen der Pakete löschen, die man behalten möchte und speichern. Jetzt nur noch die Pakete in der Datei löschen.
cat kernelliste | xargs sudo apt-get -y purge
Wenn Ubuntu-Tweak wieder funktioniert, dann ist dies sicher meine bevorzugte Lösung. Bis dahin bleibe ich bei der Kommandozeile.
Hallo,
deine Lösung, alte Kernel mit entsprechenden Befehlen in der Kommandozentrale zu löschen- einfach genial.
Hat bei mir wunderbar funktioniert. Vielen Dank für solch super Lösungsvorschläge.
mfG Uli
Was ich noch nicht hinbekommen hab, ist auf eine neue Ubuntu Version(von 12.04 auf 12.10 upzudaten.Aber das klappt schon noch.
Vielleicht liegt es auch an meiner Version?
Pingback: Alte Kernel unter Ubuntu löschen | tuxlogger - WordPress and more...