Howto: Wie lösche ich ungenutzte Kernel komplett?
Diese Frage stellt sich, der eine oder andere, nach längerer Nutzung von Ubuntu/Linux Mint und Co. Denn im Unterschied zu z.b. OpenSuse, behalten die angesprochenen Systeme immer alle eingespielten Kernelversionen und nicht nur die drei Letzten.
Die Ausführung und Befehle passieren unter Root Umgebung. Für fehlerhafte Konfigurationen oder fehlende Pakete haften wir nicht. Bitte achtet vor dem "säubern" darauf, das in der Aktualisierung der Softwarepakete nichts "broken" oder "in Abhängigkeit" zur Installation offen ist. Wer gerade einen Kernel installiert hat, startet den Rechner einmal durch, und vergewissert sich das der neuste Kernel in Nutzung ist.
Prüfen welcher Kernel gerade läuft:
Zu diesem Zweck habe ich ein kleines Script, das ihr in diesem Beispiel wie folgt kopiert & erstellt. Geht dafür ins Terminal und wechselt in das Homeverzeichnis eures Benutzers.
Dort könnt ihr dann das Script erstellen:
Fügt nun diese Zeilen ein:
#!/bin/bash
#Ausführen des Script ohne Befehl "delete" ist nur ein Testlauf.
#Ausführen als Root und mit dem Befehl "delete" löscht alle Kernel bis auf den aktuell laufenden.
uname -a
IN_USE=$(uname -a | awk '{ print $3 }')
echo "Der Kernel $IN_USE wird aktuell verwendet."
OLD_KERNELS=$(
dpkg --list |
grep -v "$IN_USE" |
grep -Ei 'linux-image|linux-headers|linux-modules' |
awk '{ print $2 }'
)
echo "Alte Kernel zum entfernen:"
echo "$OLD_KERNELS"
if [ "$1" == "delete" ]; then
for PACKAGE in $OLD_KERNELS; do
yes | apt purge "$PACKAGE"
done
fi
Alles anzeigen
Das Ausführen erfolgt mit folgenden Befehlen:
sudo ./deleteOldKernel.sh - Der Testlauf, die alten Kernel werden aufgelistet
sudo ./deleteOldKernel.sh delete - Das Aufräumen, löscht alle ungenutzten Kernel samt Module
Ihr könnt während der Ausführung die volle Ausgabe im Terminal beobachten.
Voila
Quellen: