Einzeiler, um alte Kernel zu entfernen (das gibt auch Speicherplatz frei). Hat bei Linux Mint schon häufig geholfen.
dpkg --list | grep linux-image | awk '{ print $2 }' | sort -V | sed -n '/'`uname -r`'/q;p' | xargs sudo apt-get -y purge
Erklärung
( |
verwendet die Ausgabe des vorherigen Befehls als Eingabe zum nächsten)
dpkg --list
listet alle installierten Pakete aufgrep linux-image
sucht nach den installierten Linux-Imagesawk '{ print $2 }'
gibt nur die 2. Spalte aus (das ist der Paketname)sort -V
sortiert die Artikel nach Versionsnummersed -n '/'`uname -r`'/q;p'
gibt die Zeilen vor dem aktuellen Kernel ausxargs sudo apt-get -y purge
reinigt die gefundenen Kernel
sed
:
-n
sagtesed
es soll still sein`uname -r`
gibt das aktuell installierte Kernel-Release aus – wir binden es in Backticks ein, so dass die Ausgabe als Teil des Befehls eingebunden wird (Sie könnten dies auch mit$(uname -r)
sehen)./something/q
sagt stop, wenn Sie ’something‘ (in diesem Fall wird etwas vonuname -r
ausgegeben) – das/
umgibt einen regulären Ausdruck.p
ist Drucken- das
;
ist der Befehl separtor, also/something/q;p
sagt quit, wenn du etwas abgleichst, sonst print
Insgesamt wird sed -n '/'`uname -r`'/q;p'
die Zeilen ausgeben, bis sie mit dem aktuellen Kernelnamen übereinstimmen.
Wenn du paranoid bist (wie ich), kannst du den letzten Teil xargs echo sudo apt-get -y purge
machen, so dass der Befehl zum Bereinigen der alten Kernel gedruckt wird, dann kannst du überprüfen, ob nichts Unerwartetes enthalten ist, bevor du ihn ausführst.