Artikel mit Tag purge

3 Methoden um alte Kernel unter Ubuntu, Linux Mint oder Elementary OS zu entfernen

Fehler oder Lücken im Kernel von Linux Systemen werden immer mal wieder entdeckt oder einfach neue Kernel mit neuen Funktionen veröffentlicht. 
Bei regemäßigen Updates kann eine ganze Sammlung an alten Kernel Versionen auf einem System entstehen.
Dies macht eine Bereinigung der betroffenen Systeme von Zeit zu Zeit notwendig.

Im Normalfall reicht ein apt-get autoremove autoclean aus, um ein System relativ sauber zu halten. 
Allerdings füllen alte Linux Kernel die Festplatte und werden im Normalfall nicht mehr benötigt.
Um diese zu entfernen gibt es verschiedene Möglichkeiten. Drei Varianten möchte ich heute vorstellen.

kernels-anzeigen

Erste Variante - Händisch

Die erste Variante hatte ich bereits im Blog erwähnt und wird mit Hilfe des Paketmanagers dpkg/apt durchgeführt und bedeutet etwas Handarbeit.

Zunächst werden die vorhandenen Kernels aufgelistet 

dpkg --list |grep linux

um sie danach händisch zu entfernen.

sudo dpkg --purge linux-image-4.4.0-xx-headers-generic linux-image-4.4.0-xx-generic linux-image-extra-4.4.0-xx-generic

Mit ein paar Tricks lässt sich dies auch vereinfachen.

sudo dpkg --purge linux-{image,headers}-4.x.x-{61,62,..}

Zweite Variante - Halbautomatisch

Ubuntu 16.04 hat das Tool byobu an Bord, welches das Kommando purge-old-kernels mitbringt. 

Sollte dies nicht der Fall sein, lässt es sich mit sudo apt install byobu nachinstallieren.

Danach kann eine Bereinigung des Systems relativ einfach durchgeführt werden.

sudo purge-old-kernels

Der Befehl löscht alle Kernel bis auf die zwei letzen. Sollte dies nicht gewünscht sein, kann das Verhalten mit dem --keep Parameter geändert werden.

sudo purge-old-kernels --keep 3

Dieser Befehl behält die letzten drei Kernel und löscht den Rest.

purge-old-kernels

Dritte Variante - Automatisch

Für automatische Updates und andere Aufgaben bringt Ubuntu das Tool unattended-upgrades mit.

Hiermit lässt sich eine Bereinigung komplett automatisieren.

sudo dpkg-reconfigure -plow unattended-upgrade

Nun muss unter /etc/apt/apt.conf.d/50unattended-upgrades folgendes freigeschaltet werden:

Unattended-Upgrade::Remove-Unused-Dependencies "true";

autoremove-kernelFazit

Sollte Zeit eine Rolle spielen, bietet sich die automatische Methode wohl am ehesten an, allerdings ist man hier nicht mehr ganz Herr über das Systemverhalten,was Risiken mit sich bringt. 

Debiananwender werden die erste Variante kennen und nicht missen wollen.

Die zweite Variante purge-old-kernels stellt sicherlich die einfachste und schnellste Methode dar, um ein System von Altlasten zu befreien.
 

Mehrere Ubuntu Kernel Images auf einmal entfernen

Vor Jahren hatte ich einen kleinen Beitrag über das Entfernen alter Kernels aus einem Linux System geschrieben (Artikel).

Bei diesem Vorgehen hat sich nicht viel geändert, ich möchte die Anleitung lediglich um den folgenden Punkt erweitern.

Entfernen mehrerer Kernel Images auf einmal

Suche nach installierten Kernels

dpkg -l |grep linux-image*

dpkg -l |grep linux-header*

Einzelnes Image entfernen

sudo apt-get purge linux-image-3.16.0-40.54

sudo apt-get purge linux-header-3.16.0-40.54


logo-ubuntu

Mehrere Images auf einmal entfernen

Oft haben sich mehrere alte Kernels angesammelt, welche auf einmal entfernt werden könnten, mit einem kleinen Trick ist dies in der Bash ohne weiteres möglich

sudo apt-get purge linux-image-3.16.0-{54,55,56,57,58}

sudo apt-get purge linux-header-3.16.0-{54,55,56,57,58}

Die beiden Befehle entfernen alle Images mit den genannten Versionsnummern in einem Rutsch.

Ubuntu Updates funktionieren nicht "zu wenig Speicher vorhanden" - Alte linux-header entfernen

Wer regelmäßig sein System aktualisiert, wird ebenfalls Aktualisierungen des linux-header (Kernel) erhalten. Mit der Zeit sammeln sich mehrere Kernel auf dem System an und nehmen Platz in Anspruch. Erkennbar ist das beim Bootvorgang, hier kann bei einem neuen Linux Kernel zusätzlich noch von den alten gestartet werden. Bei Problemen kann so das alte System verwendet werden.
Ist Ubuntu aber über längere Zeit im Betrieb, sind die verschiedenen Pakete unter /boot teilweise nicht mehr nötig und blockieren weitere Updates, da kein Speicher  mehr vorhanden ist. Besonders wenn dafür eine eigene Partition verwendet wird, kann es zu Platzproblemen kommen. Darum ist es notwendig von Zeit zu Zeit alte Dateien zu entfernen.

Linux Header richtig entfernen

Neben dem linux-header sind noch weitere Dateien unter /boot zu finden, wie:

abi-**-generic-pae
config-**-generic-pae
initrd.img-**-generic-pae
System.map-**-generic-pae
vmcoreinfo-**-generic-pae
vmlinuz-**-generic-pae


linux-header-entfernen


Mit dpkg -l | grep linux-image können die installierten Kernel aufgelistet und mit

sudo apt-get remove --purge linux-image-***-generic-pae

entfernt werden. Wer möchte kann alle Kernel außer dem aktiven löschen. Der aktuelle ist üblicherweise an der höchsten Nummer zu erkennen, kann aber auch mit "uname -a" angezeigt werden.

Eventuell empfiehlt sich noch ein "sudo update-grub", normalerweise wird dies aber automatisch durchgeführt.