Debian-Kernelupdate – kein Speicherplatz mehr verfügbar
Fehlermeldung „kein Speicherplatz mehr verfügbar“ bei einem Debian-Kernelupdate
Bei meinem aktuellen Debian – Systemupdate mit apt-get erhielt ich folgende Meldung:
Extrahierte Daten für ./lib/modules/3.2.0-4-amd64/kernel/xyz« können
nicht nach /lib/modules/3.2.0-4-amd64/kernel/xyz.dpkg-new«
kopiert werden: Es konnte nicht geschrieben werden (Auf dem Gerät ist
kein Speicherplatz mehr verfügbar)
Wie diese Meldung schon sagt, ist hier zu wenig Speicherplatz vorhanden. Ich habe leider vor Jahren meine „/“ – Partition zu klein gewählt, was bei den heutigen Kernelgrößen leider immer öfter eine Rolle spielt.
Ich werde euch nun beschreiben, wie ich dieses Problem bei mir lösen konnte.
ACHTUNG: Ich übernehme keine Verantworung, wenn ihr euer System mit dieser Anleitung kaputt macht!!!
Zusätzlichen Speicherplatz für das Kernelupdate frei machen
Die Verzeichnisse /boot und /lib/modules beinhalten die Kernel-Module bzw. die Boot-Dateien für einen Kernel. Zuerst hier nachsehen, ob mehrere Kernel Versionen installiert sind. Falls dies zutrifft, könnte ihr entweder alte Kernel-Versionen deinstallieren, oder einfach temporär verschieben.
Alte Kernel-Version deinstallieren:
Als ROOT müsst ihr folgenden Befehl ausführen:
dpkg -l | grep linux-image
Die Ausgabe könnt nun so aussehen:
ii linux-image-2.6-amd64 3.2+46 amd64 Linux for 64-bit PCs (dummy package)
rc linux-image-2.6.26-2-amd64 2.6.26-29 amd64 Linux 2.6.26 image on AMD64
ii linux-image-2.6.32-5-amd64 2.6.32-48squeeze6 amd64 Linux 2.6.32 for 64-bit PCs
ii linux-image-3.2.0-4-amd64 3.2.63-2+deb7u1 amd64 Linux 3.2 for 64-bit PCs
ii linux-image-amd64 3.2+46 amd64 Linux for 64-bit PCs (meta-package)
Hier könnte ich nun den alten 2.6.26-2-amd64
und den 2.6.32-5-amd64
entfernen. Vorab unbedingt nachsehen, mit welcher Kernelversion das System aktuell läuft:
uname -a
Entfernen kann man den alten Kernel nun mit:
apt-get remove --purge linux-image-2.6.32-5-amd64
apt-get autoremove
Alternativ: Alte Kernel-Version temporär verschieben
Hierzu einfach die Dateien des alten Kernels auf eine andere Partition verschieben
mv /boot/vmlinuz-2.6.32-5-amd64 /andere/partition/verzeichnis/
mv /boot/initrd.img-2.6.32-5-amd64 /andere/partition/verzeichnis/
mv /boot/System.map-2.6.32-5-amd64 /andere/partition/verzeichnis/
Jetzt könnte mit apt-get erneut versucht werden, ob die schon genügend Speicherplatz frei ist.
Andernfalls noch die Kernelmodule verschieben mit:
mv /lib/modules/2.6.32-5-amd64 /andere/partition/verzeichnis/
Erneut mit apt-get probieren, ob die Installation läuft. Wenn die Installation erfolgreich war, und nach dem Update genügend Speicherplatz übrig ist, könnt ihr die Dateien wieder an ihren ursprünglichen Platz verschieben.
Wenn immer noch zu wenig Speicherplatz frei ist, solltet ihr einen weitern alten Kernel verschieben. Wenn diese Maßnachme nicht erfolgreich war, müsstet ihr mit einem Paritionierungstool die entsprechende Partition vergrößern.