Wie entferne ich ein Paket, dessen Skript nach der Installation und vor dem Entfernen fehlschlägt?

25

Ich habe ein Problem mit dem Paket openqrm.

Wie entferne ich es?

root@wl183004:/# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]? 
Setting up openqrm (4.6-ubuntu1) ...
.: 33: Can't open /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error processing openqrm (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 openqrm
E: Sub-process /usr/bin/dpkg returned an error code (1)

root@wl183004:/# apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Setting up openqrm (4.6-ubuntu1) ...
.: 33: Can't open /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error processing openqrm (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 openqrm
E: Sub-process /usr/bin/dpkg returned an error code (1)

root@wl183004:/# apt-get remove --purge openqrm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libshadow-ruby1.8 bind9 libopenipmi0 nagios-plugins-basic open-iscsi
  nagios-plugins-standard memcached libupsclient1 collectd-core nagios-images
  bind9utils tftpd-hpa radiusclient1 libdbi0 libphp-adodb collectd libruby
  aoetools facter dhcp3-server open-iscsi-utils liboping0 libmemcached2
  libradius1 libyajl1 nagios-plugins puppet-common puppetmaster
  libopenssl-ruby1.8 libopenssl-ruby libesmtp5 libxmlrpc-ruby
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  openqrm*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 78.2MB disk space will be freed.
Do you want to continue [Y/n]? 
(Reading database ... 313464 files and directories currently installed.)
Removing openqrm ...
.: 32: Can't open /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error processing openqrm (--purge):
 subprocess installed pre-removal script returned error exit status 2
.: 33: Can't open /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 openqrm
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@wl183004:/# 
Marc Riera
quelle

Antworten:

20

Sie können versuchen, das Paket zu aktualisieren, bevor Sie es löschen. In einigen Fällen repariert das neue Paket das Entfernungsskript ( dpkgwird erstellt, damit neue Pakete auch die Übergangsskripte alter Pakete reparieren können).

Wenn das nicht funktioniert, schauen Sie sich an, /var/lib/dpkg/info/openqrm.postinstwie Kyle es vorgeschlagen hat, suchen Sie die fehlerhafte Zeile, kommentieren Sie sie aus und versuchen Sie erneut, sie zu löschen. Wiederholen Sie bis zum Erfolg.

ℝaphink
quelle
4
Ich habe Exit 0 am Anfang von openqrm.prerm hinzugefügt. es funktionierte. danke
Marc Riera
aber ... wie machen wir das? "
Suchen
Verwenden Sie Ihren Lieblingseditor und sudo
ℝaphink
fügen Sie set -xdem Skript hinzu, um zu sehen, wo es fehlschlägt, vgl. cyberciti.biz/tips/debugging-shell-script.html
Maxime R.
Ich musste auch eine /var/lib/dpkg/info/*.prermDatei bearbeiten , um ein Paket zum Deinstallieren zu erhalten. Was für ein Design!
Küken
18

Folgendes hat für mich funktioniert:

  • rm -rf /var/lib/dpkg/info/openqrm.*
  • rm -rf / usr / share / openqrm
  • rm -rf / etc / default / openqrm
  • rm -rf /etc/init.d/openqrm
  • apt-get purge openqrm
Donnied
quelle
2
das hat funktioniert! Verallgemeinert, ersetzen Sie einfach "openqrm" durch den Namen Ihres Pakets.
Ahnbizcad
Das half mir loswerden eine gebrochen zu bekommen apachedsinstallieren, die völlig blockierten aptBefehl auf meinem System, dank ... wir ein wenig mehr durch die Suche zunächst alle Standorte des Pakets mit verallgemeinern könnten sudo find / | grep [package name]sie alle, dann entfernen Sie dann mit sudo apt-get remove [package name] -purge --auto-remove( nicht geskriptet, einige der Ergebnisse könnten jedoch nicht entfernt werden ...)
Cedbeu
7

Versuche einfach die fehlende Datei zu berühren. Wenn dies nur eine Datei ist, die fehlt, kann dies eine gute Lösung sein.

touch /usr/share/openqrm/etc/openqrm-server.conf

Versuchen Sie nun, das Paket mit apt-get oder aptitude zu entfernen.

Fbo
quelle
Dies funktionierte - konnte endlich Postfix entfernen
Darren Newton
2

Schauen Sie unter /var/lib/dpkg/info/openqrm.postinst nach, was versucht wird

Kyle
quelle
-1

Es gibt hier einen Beitrag über die gleiche Art von Fehler (allerdings ein anderes Paket). Hast du es schon versucht dpkg --force-all?

Charles-Brücke
quelle