No se pueden eliminar los paquetes de la biblioteca CLI

No se pueden eliminar los paquetes de la biblioteca CLI

Estaba instalando algunos paquetes y durante la instalación de uno, el sistema se bloqueó y el paquete no se instaló. Pero el paquete se agregó a la lista de paquetes instalados. Entonces, reinicio el sistema e intento lo siguiente:

  • Cuando intento eliminar el paquete, no funciona porque no puedo encontrar un archivo de configuración.

  • Cuando intento instalar el paquete, dice que el paquete ya está instalado y, por lo tanto, no lo instalará.

  • Cuando intento actualizar, intenta eliminar el paquete y aparece el error anterior.

Entonces, mi pregunta es si hay una manera de eliminar manualmente un paquete de la lista de paquetes instalados, o hay otra manera de resolver este problema.

Cuando corro:sudo apt-get upgrade

El error es:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
  libglade2.0-cil libglib2.0-cil libgtk2.0-cil
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
18 not fully installed or removed.
After this operation, 2,819 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 119043 files and directories currently installed.)
Removing libglade2.0-cil (2.12.26-0xamarin1) ...
E: File does not exist: /usr/share/cli-common/packages.d/policy.2.8.glade-sharp.installcligac
dpkg: error processing package libglade2.0-cil (--remove):
 subprocess installed post-removal script returned error exit status 1
Removing libgtk2.0-cil (2.12.26-0xamarin1) ...
E: File does not exist: /usr/share/cli-common/packages.d/policy.2.6.gtk-dotnet.installcligac
dpkg: error processing package libgtk2.0-cil (--remove):
 subprocess installed post-removal script returned error exit status 1
Removing libglib2.0-cil (2.12.26-0xamarin1) ...
E: File does not exist: /usr/share/cli-common/packages.d/policy.2.6.glib-sharp.installcligac
dpkg: error processing package libglib2.0-cil (--remove):
 subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
 libglade2.0-cil
 libgtk2.0-cil
 libglib2.0-cil
E: Sub-process /usr/bin/dpkg returned an error code (1)

Respuesta1

Hay un par de enfoques para probar.

La primera es arreglar /usr/share/cli-common/policy-removepara que no falle si la política está ausente: edite su última línea para que se ejecute rm -fen lugar derm . Esodeberíapermitir que los paquetes se retiren correctamente.

Si eso falla, y dado que estás intentando eliminar todos los paquetes Mono, debería ser lo suficientemente seguro eliminar los postrmscripts defectuosos:

sudo rm /var/lib/dpkg/info/lib{glade,glib,gtk}2.0-cil.postrm

La única operación postrmque realizan los scripts es cancelar el registro de las políticas, lo cual no le importa ya que de todos modos está eliminando todo.

No eres la única persona que ha sufrido este problema: se informó en 2012 comoError de Debian 692962.

información relacionada