Paket kann nicht entfernt werden wegen post-removal script?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Paket kann nicht entfernt werden wegen post-removal script?

Beitrag von pangu » 25.04.2014 13:17:48

Hallo.

Ich möchte ein Paket entfernen, welches sich jedoch hartnäckig dagegen wehrt. Das ganze sieht so aus:
dpkg: error processing xbian-package-libshairport (--remove):
subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
xbian-package-libshairport
E: Sub-process /usr/bin/dpkg returned an error code (1)
Wenn ich mir unter /etc/kernel/postrm.d/ den Inhalt anschaue dann ist dort eine einzige Datei drin. Ist diese Datei etwa der Problemverursache? Ich habe also testweise diese Datei einfach mal temporär verschoben nach /root und das ganze nochmal probiert. Es hat aber nix bewirkt. Es erscheint dieselbe Fehlermeldung.

Wie komme ich da weiter, was stimmt denn da nicht?
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Benutzeravatar
towo
Beiträge: 4408
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Paket kann nicht entfernt werden wegen post-removal scri

Beitrag von towo » 25.04.2014 13:21:22

Du suchst

/var/lib/dpkg/info/xbian-package-libshairport.postrm

Da am besten in die 2. Zeile ein exit 0 reinmalen und apt-get -f install absetzen.

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: Paket kann nicht entfernt werden wegen post-removal scri

Beitrag von pangu » 25.04.2014 13:59:39

Hi towo,

vielen Dank für diesen Tip. Ich hab das anders gelöst, weil ich auch wissen wollte, was da eigentlich passiert (Lerneffekt :))

ich habe mir die besagte Datei angeschaut und habe auch den Fehler darin gefunden. Der Inhalt sah so aus:

Code: Alles auswählen

#!/bin/bash

if [ $1 == "remove" ]; then

        ldconfig > /dev/null 2>&1

        [ -e /tmp/startxbmc ] && rm /tmp/startxbmc

fi
Wenn ich diese Zeilen einzeln ausgeführt habe, kam ein Fehler in der "if" - Zeile. Ich dachte also das es daran lag. Dann habe ich die umgebaut... ich hab die dritte Zeile abgeändert auf

if [ "$1" == "remove" ]; then

Es erschien kein Fehler mehr. Trotzdem wollte "apt-get" noch nicht, es kam derselbe Fehler. Ich versteh das nicht wirklich. Dann hab ich halt wie du empfohlen hast einfach ein "exit 0" in die zweite Zeile gepflanzt und danach klappte es. Wieso aber hat's bei der ersten Möglichkeit nach Bereinigung des skripts nicht funktioniert? 'ne Idee?

PS: Und nach der Deinstallation des Paketes ist die Datei "/var/lib/dpkg/info/xbian-package-libshairport.postrm" immer noch vorhanden. Ist das normal? wann kommt die da denn weg (außer ich lösche sie manuell) ?
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Paket kann nicht entfernt werden wegen post-removal scri

Beitrag von smutbert » 25.04.2014 14:48:02

Die Skripte werden (glaube ich) erst entfernt, wenn du das Paket purgst, also mitsamt den Konfiguirationsdateien, die sonst auf dem System bleiben, löscht

Code: Alles auswählen

dpkg -P …
apt-get purge …
apt-get --purge remove …

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: Paket kann nicht entfernt werden wegen post-removal scri

Beitrag von pangu » 25.04.2014 14:58:52

Ahja ok. Tatsächlich, nach dem purgen war die Datei auch weg. Danke!
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Antworten