我决定在我的硬盘驱动器上移动我的分区以重新安装 Kubuntu。我启动了我的 Ubuntu 10.10 实时光盘,改变了所有内容并尝试安装 grub 但它没有工作,所以我刻录了一个 Ubuntu 12.04 光盘并安装了它。
我让计算机工作并想安装一些软件包,但当时没有互联网连接。所以(我知道这很愚蠢)我从以前版本的 Ubuntu 中得到了一些 deb,因为我需要我的音乐,而另一个安装需要很长时间才能启动。
一旦我恢复了互联网连接,一切正常,有一段时间。然后我在使用突触删除十个损坏的包后偶然发现了这个问题:
drhax@Spamotard:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
libgtk2.0-cil
0 upgraded, 0 newly installed, 1 to remove and 417 not upgraded.
1 not fully installed or removed.
After this operation, 2,638 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 103052 files and directories currently installed.)
Removing libgtk2.0-cil ...
E: File does not exist: /usr/share/cli-common/packages.d/policy.2.6.gtk-dotnet.installcligac
dpkg: error processing libgtk2.0-cil (--remove):
subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
libgtk2.0-cil
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)
帮助将不胜感激。这是我的第一篇文章,但我对 Ubuntu 有一定的了解,所以请随时指出我犯的任何愚蠢的错误。
sudo dpkg -P --force-all libgtk2.0-cil
Run Code Online (Sandbox Code Playgroud)
对我来说还不够,我必须:
sudo mv /var/lib/dpkg/info/libgtk2.0-cil.postrm /var/lib/dpkg/info/libgtk2.0-cil.postrm.tmp
sudo dpkg -P --force-all libgtk2.0-cil
Run Code Online (Sandbox Code Playgroud)
我重命名了其他文件,但可能不需要它:
/var/lib/dpkg/info/libgtk2.0-cil.clilibs.tmp
/var/lib/dpkg/info/libgtk2.0-cil.md5sums.tmp
/var/lib/dpkg/info/libgtk2.0-cil.postrm.tmp
/var/lib/dpkg/info/libgtk2.0-cil.list.tmp
/var/lib/dpkg/info/libgtk2.0-cil.postinst.tmp
/var/lib/dpkg/info/libgtk2.0-cil.prerm.tmp
Run Code Online (Sandbox Code Playgroud)
-- http://rzr.online.fr/q/dpkg
使用以下命令强制删除包:sudo dpkg -P --force-all libgtk2.0-cil
。