comment supprimer un package dont le script de post-installation et de pré-suppression échoue?


25

J'ai un problème avec le paquet openqrm.

Comment puis-je le supprimer?

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

Réponses:


20

Vous pouvez essayer de mettre à niveau le package avant de le purger. Dans certains cas, le nouveau package corrige le script de suppression ( dpkgest conçu pour que les nouveaux packages puissent même corriger les scripts de transition des anciens packages).

Si cela ne fonctionne pas, regardez /var/lib/dpkg/info/openqrm.postinstcomme l'a suggéré Kyle, localisez la ligne qui échoue, commentez-la et essayez à nouveau de purger. Répétez jusqu'à succès.


4
J'ai ajouté la sortie 0 au début de openqrm.prerm. ça a marché. merci
Marc Riera

mais ... comment on fait ça? "localisez la ligne qui échoue, commentez-la"
ahnbizcad

Utilisation de votre éditeur et sudo
préférés

ajouter set -xau script pour voir où il échoue, cf. cyberciti.biz/tips/debugging-shell-script.html
Maxime R.

J'ai également dû modifier un /var/lib/dpkg/info/*.prermfichier pour obtenir un package à désinstaller. Quel design!
poussins

18

Ce qui suit a fonctionné pour moi:

  • 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
cela a fonctionné! Généralisé, remplacez simplement "openqrm" par le nom de votre package.
ahnbizcad

Cela m'a aidé à me débarrasser d'une apachedsinstallation cassée , qui bloquait totalement toute aptcommande sur mon système, merci ... nous pourrions généraliser un peu plus en recherchant d'abord tous les emplacements du package avec sudo find / | grep [package name], puis en les supprimant tous, puis en utilisant sudo apt-get remove [package name] -purge --auto-remove( pas par script, certains résultats pourraient ne pas être supprimés cependant ...)
cedbeu

7

Essayez simplement de toucher le fichier manquant. S'il ne s'agit que d'un fichier manquant, cela pourrait être une excellente solution de contournement.

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

Essayez maintenant de supprimer le paquet avec apt-get ou aptitude.


Cela a fonctionné - a finalement été en mesure de supprimer le suffixe
Darren Newton

2

Regardez /var/lib/dpkg/info/openqrm.postinst et voyez ce qu'il essaie de faire


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.