alexreinert/debmatic

dpkg: error processing package debmatic

Closed this issue · 7 comments

Ich bekomme auf einem Raspberry 2 (arm7l) bei der Installation folgenden Fehler:

loxberry@loxberry:~ $ sudo apt-get install debmatic
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
debmatic is already the newest version (3.67.10-102).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
Setting up debmatic (3.67.10-102) ...
Created symlink /etc/systemd/system/debmatic.service.wants/debmatic-ssdpd.service → /lib/systemd/system/debmatic-ssdpd.service.
Created symlink /etc/systemd/system/debmatic-startupfinished.service.wants/debmatic-ssdpd.service → /lib/systemd/system/debmatic-ssdpd.service.
already enabled
Run "service lighttpd force-reload" to enable changes
dpkg: error processing package debmatic (--configure):
 installed debmatic package post-installation script subprocess returned error exit status 2
Errors were encountered while processing:
 debmatic
E: Sub-process /usr/bin/dpkg returned an error code (1)
loxberry@loxberry:~ $ 
loxberry@loxberry:~ $ uname -a
Linux loxberry 6.1.21-v7+ #1642 SMP Mon Apr  3 17:20:52 BST 2023 armv7l GNU/Linux
loxberry@loxberry:~ $ cat /etc/debian_version
11.6

Den Service von lighttpd zu reloaden bringt nichts. Auch ein komplettes "purge" und neu installieren bringt den gleichen Fehler. Ich habe es leider nicht geschafft apt hier mehr Output zu entlocken.

Welches Funkmodul wird verwendet und wie ist das angeschlossen?
Welches OS wird verwendet?

Das ist ein DietPi, der die Original Debian Sourcen verwendet:

loxberry@loxberry:~ $ cat /etc/apt/sources.list
deb https://deb.debian.org/debian/ bullseye main contrib non-free
deb https://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb https://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb https://deb.debian.org/debian/ bullseye-backports main contrib non-free

Während der Installation steckte kein Funkmodul drauf. Nach dem "purgen" und neu installieren (mit gleichem Fehler) steckte das HM-MOD-RPI-PCB drauf.

Wenn ich testen soll: Ich habe Deine USB- und Ethernet-Platine hier und auch das neue RPI-RF-MOD.

Interessanterweise läuft auch die HM WebUI und ich kann mich ganz normal einloggen. Es scheint also alles "wichtige" installiert worden zu sein. Nur apt meckert nun natürlich bei jeder Installation.

root@loxberry:~# debmatic-info
debmatic version: 3.67.10-102
Kernel modules: Available
Raw UART dev:   Available
HMRF Hardware:  HM-MOD-RPI-PCB
 Connected via: GPIO@3f201000.serial (/dev/raw-uart)
 Board serial:  OEQXXX457
 Radio MAC:     0x5XXX36
HMIP Hardware:  HM-MOD-RPI-PCB
 Connected via: GPIO@3f201000.serial (/dev/raw-uart)
 SGTIN:         3014F7XXXXXXXXXXXX8E1519
 Radio MAC:     0xBXXXX9
root@loxberry:~#

Ach so, das hatt eich noch vergessen: Auf einem DietPi in einer VM (x64) läuft alles problemlos. Daher kann es "eigentlich" mit der Distribution nichts zu tun haben - denke ich....

DietPi ist aktuell nicht in meinem Testfuhrpark vorhanden, da muss ich erst aufrüsten um das zu testen.
Meines Wissens nach ist DietPi aber kein reines Debian, sondern doch an etlichen Stellen angepasst.

Naja, sie konfigurieren "nur" Dinge um - /var/log zum Beispiel in die Ramdisk. Dazu gibt es ein Satz Bash-Skripte, die das erledigen. Ansonsten ist es eine "echte" Debian. In der VM hatte ich auch keinerlei Probleme, nur jetzt auf dem Pi.

Gibt es denn eine Möglichkeit irgendwie herauszufinden, wo genau das Post-Processing hakt? Ich habe versucht Debug-Messages von apt zu bekommen - ist mir aber nicht gelungen. Ich könnte Dir ansonsten auch gerne einen SSH Zugang einrichten, vielleicht nützt Dir das im ersten Schritt etwas?

Hi Alex,

ich habe es geschafft das postinst Script zu debuggen und auch das Problem gefunden. Ob es Arm7l oder DietPi spezifisch ist weiß ich noch nicht - das müsste man noch einmal prüfen.

Ich habe das Script "/var/lib/dpkg/info/debmatic.postinst configure" als root laufen lassen (Shebang vorher auf "#!/bin/bash -x" geändert für mehr Debugging Messages).

Beim Befehl "lighttpd-enable-mod debmatic" steigt das gesamte Postinst Skript mit Exitcode 2 aus, wenn "debmatic" bereits enabled ist. Es wird noch die Meldung "already enabled - Run service lighttpd force-reload" ausgegeben und dann das gesamte Skript beendet. Warum das gesamte Postinst Bashskript beendet wird und nicht weiter abgearbeitet wird kann ich mir nicht erklären.

Lösung:
Deaktiviert man vorher debmatic im Lighttpd mit "lighty-disable-mod debmatic", so wird es im postinst Skript wieder aktiviert und das Skript läuft ganz normal weiter und durch. Als Workaround könnte man den Befehl ins postinst mit übernehmen.

stale commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.