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

試してみる方法はいくつかあります。

1つ目は、/usr/share/cli-common/policy-removeポリシーが存在しない場合に失敗しないように修正したことです。 .thatrm -fの代わりに実行されるように最後の行を編集してください。rmしなければならないパッケージを正しく削除できます。

失敗した場合は、すべてのMonoパッケージを削除しようとするため、失敗したスクリプトを削除しても安全ですpostrm

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

スクリプトが実行する唯一のことpostrmは、ポリシーの登録を解除することだけです。とにかくすべての項目が削除されるので気にする必要はありません。

この問題に苦しむ人はあなただけではありません。 2012年に次のような報告がありました。Debian のバグ 692962

関連情報