Fehler in dpkg untersuchen (ausführliches Logging aktivieren)

Es kommt leider immer wieder einmal vor, dass die SD Karte in einem Raspberry Pi den Geist aufgibt. Bei einem dieser Fälle hat sich das bei mir in der kryptischen Fehlermeldung

dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

geäußert und ich habe untersucht, was es damit auf sich hat.

Verwendetes Material / Lizenzen

  • Raspberry Pi  (z.B. der Raspberry Pi 4 mit 4GB RAM bei amazon.de als Komplettkit, ca. 95 EUR.).
  • Eine für den Raspberry Pi geeignete microSD Karte, am besten mit 16GB oder mehr Speicher. Alleine 2020 habe ich 5 günstige Karten wegen Schreib-/ Lesefehlern verloren und verwende nun nur noch die Samsung PRO Endurance 64GB (z.B. bei amazon.de, ca. 14 EUR).

Das Problem

Mit der obenstehenden Fehlermeldung konnte ich auch mit Unterstützung von Google kaum nützliche Information finden, alle beschriebenen Fehlerbehebungen wollten einfach nichts bringen. In einem recht versteckten Post bin ich dann auf einen Befehl gestoßen, mit dem sich das Logging von dpkg so erhöhen lässt, dass es jeden einzelnen Befehl detailliert ausgibt. Das Kommando lautet:

sudo dpkg --debug=77777 --configure -a

Der Wichtige Part ist der mit den vielen Siebenen. Das ist theoretisch auch dokumentiert in der Hilfe von dpkg:

Praktisch muss man dann erst einmal die Varianten dort bitweise verknüpfen.. und das Ergebnis ist 77777, wenn man alles geloggt haben möchte um zu sehen bei welchem Befehl es genau stehenbleibt. Wo anders heißt das einfach „verbose“ 😉

Ich konnte dadurch sehen, dass das Schreiben in’s Dateisystem zu lange gedauert hat und bin darüber dann auf die defekte SD Karte gekommen.

Am Ende hat mich das zwar auch nicht davor gerettet, die Karte ersetzen zu müssen, aber zumindest habe ich wieder ein wenig gelernt und nach dem Ersetzen der Karte hat das Kommando dann auch die verbliebenen Fehler korrigiert (auch ohne das --debug=77777).

Bei einem anderen Raspberry war es am Ende eine mangelhafte Stromversorgung (siehe https://photobyte.org/unstable-raspberry-pi-taming-the-power-supply). Das folgende Kommando listet auf, wie oft der Raspberry zu wenig Spannung hatte. Alles andere als eine Null hier ist ein großes Problem!

sudo grep -a Under-voltage /var/log/syslog | wc -l

Schlusswort

Ich freue mich über eure Kommentare, ob euch der Beitrag weitergeholfen hat. Schreibt auch gerne, wenn ihr Fragen habt oder doch etwas unklar geblieben ist. Oder wenn ihr aufbauend darauf spannende weitere Automatisierungs-Projekte umsetzen konntet 🙂

Wenn diese Seite für dich hilfreich war und du dich bei mir bedanken möchtest, dann freue ich mich ganz außerordentlich darüber, wenn du für deinen nächsten Einkauf bei amazon.de über diesen Link gehst. Ich bekomme dann eine kleine Provision, für dich kostet es keinen Cent extra. Wenn du mich lieber anders unterstützen möchtest, findest du hier hier weitere Möglichkeiten.

Kommentar verfassen

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.