come rimuovere un pacchetto che lo script post-installazione e pre-rimozione fallisce?


25

Ho un problema con il pacchetto openqrm.

Come lo rimuovo?

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:/# 

Risposte:


20

È possibile provare ad aggiornare il pacchetto prima di eliminarlo. In alcuni casi, il nuovo pacchetto correggerà lo script di rimozione ( dpkgviene creato in modo che i nuovi pacchetti possano correggere anche gli script di transizione dei vecchi pacchetti).

Se il /var/lib/dpkg/info/openqrm.postinstproblema persiste, dai un'occhiata a come suggeriva Kyle, individua la linea che non funziona, commentala e prova a eliminare nuovamente. Ripeti fino al successo.


4
Ho aggiunto exit 0 all'inizio di openqrm.prerm. ha funzionato. grazie
Marc Riera,

Ma come lo facciamo? "trova la linea che fallisce, commentala"
ahnbizcad,

Usando il tuo editor preferito e sudo
ℝaphink

aggiungere set -xallo script per vedere dove non riesce, cfr. cyberciti.biz/tips/debugging-shell-script.html
Maxime R.

Ho anche dovuto modificare un /var/lib/dpkg/info/*.prermfile per ottenere un pacchetto da disinstallare. Che disegno!
pulcini

18

Per me ha funzionato:

  • 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

2
questo ha funzionato! Generalizzato, basta sostituire "openqrm" con qualunque sia il nome del pacchetto.
ahnbizcad,

Questo mi ha aiutato a sbarazzarmi di apachedsun'installazione interrotta , che ha bloccato totalmente qualsiasi aptcomando sul mio sistema, grazie ... potremmo generalizzare un po 'di più cercando prima tutte le posizioni del pacchetto con sudo find / | grep [package name], quindi rimuovendole tutte, quindi usando sudo apt-get remove [package name] -purge --auto-remove( non con script, alcuni dei risultati potrebbero non essere rimossi però ...)
cedbeu

7

Prova a toccare il file mancante. Se questo è solo un file mancante, potrebbe essere un'ottima soluzione.

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

Ora prova a rimuovere il pacchetto con apt-get o aptitude.


Questo ha funzionato - è stato finalmente in grado di rimuovere il postfisso
Darren Newton

2

Guarda /var/lib/dpkg/info/openqrm.postinst e vedi cosa sta cercando di fare


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.