36 votos

¿Cómo se elimina un paquete cuyo script de post-instalación y pre-desinstalación falla?

Tengo un problema con el paquete openqrm.

¿Cómo lo elimino?

root@wl183004:/# apt-get upgrade
Leyendo listas de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
1 no instalados del todo o eliminados.
Después de esta operación, se utilizarán 0 B de espacio en disco adicional.
¿Desea continuar [S/n]? 
Configurando openqrm (4.6-ubuntu1) ...
.: 33: No se puede abrir /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error al procesar openqrm (--configure):
 el script post-installation instalado devolvió el código de salida de error 2
Se encontraron errores mientras se procesaba:
 openqrm
E: Sub-process /usr/bin/dpkg returned an error code (1)

root@wl183004:/# apt-get -f install
Leyendo listas de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
1 no instalados del todo o eliminados.
Después de esta operación, se utilizarán 0 B de espacio en disco adicional.
Configurando openqrm (4.6-ubuntu1) ...
.: 33: No se puede abrir /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error al procesar openqrm (--configure):
 el script post-installation instalado devolvió el código de salida de error 2
Se encontraron errores mientras se procesaba:
 openqrm
E: Sub-process /usr/bin/dpkg returned an error code (1)

root@wl183004:/# apt-get remove --purge openqrm
Leyendo listas de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
Los paquetes siguientes se instalaron automáticamente y ya no son necesarios:
  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
Utilice 'apt-get autoremove' para eliminarlos.
Los siguientes paquetes se ELIMINARÁN:
  openqrm*
0 actualizados, 0 nuevos se instalarán, 1 para eliminar y 0 no actualizados.
1 no instalados del todo o eliminados.
Después de esta operación, se liberarán 78.2MB de espacio en disco.
¿Desea continuar [S/n]? 
(Leyendo la base de datos ... 313464 ficheros y directorios actualmente instalados.)
Eliminando openqrm ...
.: 32: No se puede abrir /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error al procesar openqrm (--purge):
 el script pre-removal instalado devolvió el código de salida de error 2
.: 33: No se puede abrir /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error mientras se limpiaba:
 el script post-installation instalado devolvió el código de salida de error 2
Se encontraron errores mientras se procesaba:
 openqrm
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@wl183004:/#

1 votos

0 votos

Hola @rogerdpack, hay 8 años entre mi pregunta y la que señalas. :) Que tengas un buen día.

31voto

ℝaphink Puntos 5295

Podrías intentar actualizar el paquete antes de eliminarlo. En algunos casos, el nuevo paquete arreglará el script de eliminación (dpkg está hecho para que los nuevos paquetes puedan arreglar incluso los scripts de transición de paquetes antiguos).

Si eso no funciona, echa un vistazo a /var/lib/dpkg/info/openqrm.postinst como sugirió Kyle, localiza la línea que falla, coméntala y vuelve a intentar eliminar. Repite hasta tener éxito.

4 votos

He añadido "exit 0" al principio de openqrm.prerm. Ha funcionado, gracias.

1 votos

Pero... ¿cómo hacemos esto? "localiza la línea que falla, coméntala"

0 votos

Usando tu editor favorito y sudo

24voto

Lo siguiente funcionó para mí:

  • 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 votos

¡Esto funcionó! Generalizado, simplemente reemplace "openqrm" con el nombre de su paquete.

0 votos

Esto me ayudó a deshacerme de una instalación rota de apacheds que bloqueó por completo cualquier comando apt en mi sistema, gracias... podríamos generalizar un poco más buscando primero todas las ubicaciones del paquete con sudo find / | grep [nombre del paquete], luego eliminándolos todos, y luego usando sudo apt-get remove [nombre del paquete] --purge --auto-remove (no lo hagas de forma automatizada, algunos de los resultados podrían no ser para ser borrados aunque…)

7voto

Fbo Puntos 413

Solo intenta tocar el archivo que falta. Si es solo un archivo que falta, podría ser un gran solución alternativa.

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

Ahora intenta eliminar el paquete con apt-get o aptitude.

0 votos

Esto funcionó - finalmente pude eliminar postfix

3voto

Kyle Puntos 81

Mira /var/lib/dpkg/info/openqrm.postinst y ve lo que está tratando de hacer

-1voto

Richard C. McGuire Puntos 3345

Hay una publicación aquí sobre el mismo tipo de error (aunque con un paquete diferente). ¿Ya has intentado dpkg --force-all?

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X