“在修复软件包目录之前,无法安装或删除项目。”

我刚刚在10.04上安装了Ubuntu 12.04。 在我尝试运行更新之前,它似乎没问题。 当我启动软件中心时,我收到以下错误消息:

在修复包目录之前,无法安装或删除项目。 你想现在修理吗?

Update Manager完成修复后,您可以关闭它并返回到商店。

所以我点击修复然后我得到这个消息:

包装操作失败

安装或删除软件包失败。

所以我点击OK ,它会回到第一条错误消息

它只是继续重复这两个消息。 我如何解决任何破碎的问题? 我回顾了类似问题的答案。 我尝试了该链接中的建议,但它们没有用。 我试图发布结果,但是,对于这个系统的新手,我不允许发布超过2个链接。 然而,似乎问题的症结在于:

(Reading database ... 742676 files and directories currently installed.) Removing libxml-libxml-perl ... /var/lib/dpkg/info/libxml-libxml-perl.prerm: 11: /var/lib/dpkg/info/libxml-libxml-perl.prerm: update-perl-sax-parsers: not found dpkg: error processing libxml-libxml-perl (--remove): subprocess installed pre-removal script returned error exit status 127 Errors were encountered while processing: libxml-libxml-perl E: Sub-process /usr/bin/dpkg returned an error code (1) 

什么时候是这样的大更新,我总是建议格式化HDD并从0开始安装,如果我们谈论Linux,还有更多理由。

您可以编辑/etc/apt/sources.list的最后两行

和,

试试这个:

 sudo apt-get update 

这将更新您的系统软件列表。

然后,

 sudo apt-get install -f 

这应该修复你的包。

如果没有,那么你有一个破碎的包管理器,我建议重新安装 – 但只有你已经尝试了其他一切!

也:

尝试

 sudo apt-get update 

更新您的包列表。 然后

 sudo apt-get autoclean 

清理任何部分包裹。 然后

 sudo apt-get clean 

清理apt缓存。

 sudo apt-get autoremove 

将清理任何不需要的依赖项。 如果在执行此操作时您可以识别损坏的包,则此代码将非常强制地删除它。

 sudo dpkg --remove -force --force-remove-reinstreq package name 

当然,将包名更改为真实姓名。

问候!

我总是建议做一个干净的安装。 我对此并不了解,但我认为您应该删除之前注册过的所有PPA。

然后,运行sudo apt-get update并重新启动。

重新启动后,再次运行sudo apt-get update ,然后sudo apt-get upgrade

如果这不起作用,我认为有一些程序可以用来重制你的/etc/apt/sources.list