Невозможно удалить пакеты библиотеки CLI

Невозможно удалить пакеты библиотеки CLI

Я устанавливал несколько пакетов, и во время установки одного из них система зависла, и пакет не был установлен. Но пакет был добавлен в список установленных пакетов. Поэтому я перезапускаю систему и пробую следующее:

  • Когда я пытаюсь удалить пакет, это не работает, поскольку он не может найти файл конфигурации.

  • Когда я пытаюсь установить пакет, он сообщает, что пакет уже установлен, и поэтому не устанавливается.

  • При попытке обновления происходит попытка удалить пакет и возникает указанная выше ошибка.

Итак, мой вопрос заключается в том, есть ли способ вручную удалить пакет из списка установленных пакетов или есть другой способ решить эту проблему?

Когда я бегу:sudo apt-get upgrade

Ошибка:

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)

решение1

Есть несколько подходов, которые можно попробовать.

Первый — исправить /usr/share/cli-common/policy-removeтак, чтобы он не давал сбой, если политика отсутствует: отредактируйте его последнюю строку так, чтобы он запускался rm -fвместо rm. Этодолженпозволяют правильно извлечь пакеты.

Если это не удается, и поскольку вы пытаетесь удалить все пакеты Mono, будет достаточно безопасно удалить неисправные postrmскрипты:

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

Единственная операция, postrmкоторую выполняют скрипты, — это отмена регистрации политик, но вас это не волнует, поскольку вы в любом случае удаляете все.

Вы не единственный человек, который пострадал от этой проблемы: в 2012 году о ней сообщалось как оОшибка Debian 692962.

Связанный контент