無法刪除 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

相關內容