Inzwischen hatte ich sie schon 3 oder 4 mal nach dem Update auf meinem Server. Die Meldung
=> /boot is using 92.1% of 227MB
nach dem Login per SSH in der darauf erscheinenden Systemübersicht. Auf den ersten Blick ist es nicht weiter schlimm, wenn der Bootsektor vollläuft, allerdings sind bei neuen Linux Kerneln, welche im /boot je nach System teilweise ihren Platz finden, keine weiteren Updates mehr möglich. Deshalb möchte ich hier einmal zeigen, wie man den Bootsektor schnell und unkompliziert von den alten, nicht mehr verwendeten Kerneln befreit.
Zunächst empfehle ich die üblichen Vorgänge, um das System auf den aktuellen Stand zu bringen:
sudo apt-get update
sudo apt-get uprade
Auf jeden Fall sollte man aber die folgenden Schritte befolgen. Es empfiehlt sich zunächst immer zu versuchen die nicht mehr benötigten Pakete per
sudo apt-get autoremove
zu entfernen. Das ist vor allem wichtig, damit eventuelle Abhängigkeiten zu alten Kernel Version aufgelöst werden. Um nun den Bootsektor zu leeren, muss man ersteinmal wissen, welche Kernel Version man aktuelle benutzt. Diese darf nämlich logischerweise nicht gelöscht werden. Dafür gibt man den Befehl
uname -r
im Terminal ein. In meinem Fall gibt dies die Version 3.2.0-48-generic zurück. Anschließend lassen wir uns alle Datein in /boot anzeigen:
ls /boot
In meinem Fall gibt das folgendes zurück:
abi-3.2.0-38-generic initrd.img-3.2.0-44-generic
abi-3.2.0-39-generic initrd.img-3.2.0-45-generic
abi-3.2.0-40-generic initrd.img-3.2.0-48-generic
abi-3.2.0-41-generic lost+found
abi-3.2.0-43-generic memtest86+.bin
abi-3.2.0-44-generic memtest86+_multiboot.bin
abi-3.2.0-45-generic System.map-3.2.0-38-generic
abi-3.2.0-48-generic System.map-3.2.0-39-generic
config-3.2.0-38-generic System.map-3.2.0-40-generic
config-3.2.0-39-generic System.map-3.2.0-41-generic
config-3.2.0-40-generic System.map-3.2.0-43-generic
config-3.2.0-41-generic System.map-3.2.0-44-generic
config-3.2.0-43-generic System.map-3.2.0-45-generic
config-3.2.0-44-generic System.map-3.2.0-48-generic
config-3.2.0-45-generic vmlinuz-3.2.0-38-generic
config-3.2.0-48-generic vmlinuz-3.2.0-39-generic
grub vmlinuz-3.2.0-40-generic
initrd.img-3.2.0-38-generic vmlinuz-3.2.0-41-generic
initrd.img-3.2.0-39-generic vmlinuz-3.2.0-43-generic
initrd.img-3.2.0-40-generic vmlinuz-3.2.0-44-generic
initrd.img-3.2.0-41-generic vmlinuz-3.2.0-45-generic
initrd.img-3.2.0-43-generic vmlinuz-3.2.0-48-generic
Dort können jetzt fast alle Dateien gelöscht werden, die in der nicht mit der aktuelle verwendeten Version, also 3.2.0-48-generic deklariert werden. Es können alle abi, config, initrd.img, System-map und wmlinuz Dateien, die nicht der aktuell verwendeten Version entsprechen folglich gelöscht werden. Nicht gelöscht werden dürfen der Ordner grub und lost+found, sowie die Dateien memtest86+.bin und memtest86+_multiboot.bin. Sollten sich auf eurem Rechner entsprechend andere Dateien befinden, ohne eine Versionsbezeichnung, die einen Kernel deklariert, so sollten auch diese nicht gelöscht werden. Man kann aber auch experimentieren und zur Not mit den unten beschriebenen Schritten das Backup verwenden.
Bevor man allerdings seine Änderungen durchführt, sollte man immer zuerst ein Backup eines solch wichtigen Bereichs machen. Dafür einfach den Bootsektor kopieren:
sudo cp -rv /boot /boot-backup
Als Zielverzeichnis kann natürlich auch jeder andere Pfad dienen. Mit
cd /boot
wechselt man jetzt, falls noch nicht geschehen in den Bootsektor und löscht anschließend alle nicht mehr benötigten Dateien per
sudo rm datei
Danach einfach einen reboot durchführen. Sollte es zu Problemen kommen, dann kann per Live CD der Bootsektor mit dem Backup Verzeichnis problemlos überschrieben werden. Sollte es keine Probleme geben, so kann das Backup natürlich per
rm -rv /boot-backp
entfernt werden. Ansonsten viel Spaß beim Updaten und nicht mehr sehen der Meldung 😉