RedHat/CentOS/Fedora: Alle Kernel außer dem aktuell Laufenden entfernen

Ein kleiner Tipp für alle, die eine kleine /boot-Partition benutzen und daher immer schauen müssen, dass sich dort nicht zu viele alte Kernel befinden:
yum remove $(rpm -qa | egrep '^kernel-2.6' | grep -v $(uname -r))
Der obige Einzeiler entfernt alle Kernelpakete der Reihe 2.6 außer dem aktuellen. Auf den ersten Blick sieht es so aus, als würden damit alle Kernel gefunden und entfernt, wichtig ist aber der Parameter -v bei grep:

-v, --invert-match
     Invert the sense of matching, to select non-matching lines.

Dadurch wird die Suche invertiert und eben nur die nicht aktuellen Kernel-RPMs entfernt. Zwar würde RPM sowieso verhindern, dass der aktuell laufende Kernel entfernt wird, dennoch muss man sich ja keine Fehlermeldung geben, die nicht nötig ist.

Der Vollstängigkeit halber sei hier noch erwähnt, dass es auch einen Automatismus in yum/dnf gibt, der dafür sorgt, dass alte Kernel-Pakete immer entfernt werden. Einfach in /etc/yum.conf im Abschnitt [main] die Zeile
installonly_limit=2
ergänzen. So hat man nach Updates immer den aktuellen und, zur Sicherheit, den Kernel davor zur Verfügung und kann sich den Aufand weiter oben zukünftig sparen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.