
Ich habe Debian Wheezy über ein Jahr lang ohne Probleme verwendet, bis vor einer Woche. Ohne ersichtlichen Grund hat das System plötzlich entschieden, dass der Linux-Kernel nur halb konfiguriert ist, und keine der online gefundenen Korrekturen hat funktioniert. Daher apt
versucht es bei jedem Update, das Problem zu beheben, und schlägt fehl.
Einzelheiten
Symptom
Bei jedem ausgeführten Update apt
kommt es irgendwann zu einem Versuch, den Kernel zu reparieren. Dieser schlägt fehl und der Update-Prozess wird mit einer Fehlermeldung und anschließend der Meldung beendet, dass das System auf dem neuesten Stand ist.
Jede Aktualisierungsaktivität apt
endet mit Folgendem:
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
E: /usr/sbin/update-initramfs.orig.initramfs-tools - command not found
E: On Debian based systems, update-initramfs from initramfs-tools
E: can be installed with:
E: apt-get install initramfs-tools
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-4-amd64.postinst line 696.
dpkg: error processing linux-image-3.2.0-4-amd64 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
linux-image-3.2.0-4-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
Der Kernel
Nahezu das gleiche Problem wurde in einemFrage zu Ask Ubuntu. Die akzeptierte Antwort wies auf ein Problem mit der dpkg
Statusdatei hin. Der Statuseintrag fürlinux-image-3.2.0-4-amd64
sagte, es sei halb konfiguriert.
Als ersten Schritt habe ich Folgendes versucht:
administrator@Kwheezy:~$ sudo dpkg-reconfigure linux-image-3.2.0-4-amd64
/usr/sbin/dpkg-reconfigure: linux-image-3.2.0-4-amd64 is broken or not fully installed
Die Neuinstallation hat nicht geholfen, also deutet das auf einen Defekt hin.
dpkg
Die Lösung von Ask Ubuntu bestand darin, den Eintrag aus der Statusdatei zu löschen und dann neu zu installieren. In meinem Fall hat das auch nicht funktioniert. Als der Vorgang abgeschlossen war, dpkg
hatte die Statusdatei den Eintrag durch einen anderen ersetzt, der immer noch besagte, dass er halb konfiguriert war, und das Systemverhalten war dasselbe.
Apt-Ausgabe
Konzentrieren Sie sich auf die Fehlermeldungen in der apt
Ausgabe. Die Fehler beginnen immer mit:
/usr/sbin/update-initramfs.orig.initramfs-tools - command not found
Tatsächlich existiert diese Datei nicht. Die hilfreiche Meldung weist darauf hin, dass sie installiert werden kann, indeminitramfs-tools
. Das war bereits installiert, aber ich habe es neu installiert. Es stellte sich heraus, dass es apt
das bereits von selbst tat. Alle Fehlermeldungen nach der Anleitung zur Installationinitramfs-tools
wird durch diesen Installationsversuch erzeugt, der nie zu/usr/sbin/update-initramfs.orig.initramfs-tools
wird installiert.
Zusammenfassung
- Ich habe den neuesten verfügbaren Linux-Kernel aus dem Wheezy-Repository. Es ist eine gute Kopie, alle Abhängigkeiten werden erfüllt und es gibt keine Berichte von anderen Benutzern, die Probleme damit haben.
- Das System meldet, dass es nicht vollständig konfiguriert ist. Ich habe keine Möglichkeit gefunden, es zu konfigurieren oder das System davon abzuhalten, zu denken, dass es nicht vollständig konfiguriert ist.
Antwort1
Auflösung
sudo apt-get remove live-tools
sudo apt-get install --reinstall initramfs-tools
sudo apt-get install -f
Erläuterung
Nachdem ich mir ein besseres Bild vom System von fixer1234 gemacht hatteim Chathabe ich festgestellt, dass das installierte Paket live-tools
mit in Konflikt stand initramfs-tools
.
Wenn live-tools
installiert ist, überschreibt es dies /usr/sbin/update-initramfs
mit seinem eigenen Skript und fügt das Original ein /usr/sbin/update-initramfs.orig.initramfs-tools
.
live-tools
verfügt über einige Plausibilitätsprüfungen, die feststellen, ob es sich um ein Live-System handelt. Wenn es sich nicht um ein Live-System, sondern um ein installiertes System handelt, versucht es, auszuführen /usr/sbin/update-initramfs.orig.initramfs-tools
, was das richtige Skript zum Aktualisieren des Initramfs ist.
Wurde im System von fixer1234 /usr/sbin/update-initramfs.orig.initramfs-tools
gelöscht.
Da es sich bei dem System um ein installiertes System handelt, live-tools
ist es wahrscheinlich unnötig, weshalb ich die Entfernung empfohlen habe.
So funktioniert jeder der im Abschnitt „Lösung“ oben vorgeschlagenen Schritte:
sudo apt-get remove live-tools
Beim Entfernen live-tools
wird versucht, /usr/sbin/update-initramfs.orig.initramfs-tools
es wiederherzustellen /usr/sbin/update-initramfs
, da aber /usr/sbin/update-initramfs.orig.initramfs-tools
nicht existiert, tritt ein Fehler auf.
live-tools
wird trotzdem entfernt, und das ist, was zählt.
Wir werden immer noch vermisst /usr/sbin/update-initramfs
.
sudo apt-get install --reinstall initramfs-tools
Um wiederherzustellen /usr/sbin/update-initramfs
, installieren wir das Paket neu, das diese Datei bereitstellt. Nämlich initramfs-tools
.
sudo apt-get install -f
Ihre Kernelinstallation war aufgrund des Missgeschicks mit live-tools
und unvollständig initramfs-tools
. Um die Installation abzuschließen und alle Paketprobleme zu beheben, ist dieser letzte Schritt erforderlich.
Jetzt sollten Sie ein voll funktionsfähiges Debian-System haben.
(Übrigens funktionieren diese Schritte theoretisch unter Debian 8, Ubuntu 12.04, Ubuntu 14.04, Ubuntu 15.10, Ubuntu 16.04 und Ubuntu 16.10.)