apt-get无法安装或删除任何包

当我尝试在apt gui中安装ia32-libs时,它告诉我:

  
 ruby-vmc:取决于:ruby-rubyzip2(> = 2.0.1)但安装了2.0.1-0ubuntu4  
          取决于:libhighline-ruby1.9.1但未安装%s  
          取决于:ruby-rest-client(> = 1.6.1)但安装了1.6.7-1  
          取决于:ruby-terminal-table(> = 1.4.2)但安装了1.4.2-0ubuntu3  
          取决于:ruby-json-pure(> = 1.5.1)但未安装%s  

接下来是我执行时的错误:sudo apt-get -f install

 installArchives()失败:| 收集更改[0]  - 阶段1/5承诺:/ etc / modified vmware / vmnet8 / dhcpd / dhcpd.leases | 运行pre_commit挂钩 - 阶段3/5已提交修订版159.(读取数据库...(读取数据库... 5%(读取数据库... 10%(读取数据库... 15%(读取数据库... 20%) (阅读数据库... 25%(阅读数据库... 30%(阅读数据库... 35%(阅读数据库... 40%(阅读数据库... 45%(阅读数据库... 50%(阅读)数据库... 55%(阅读数据库... 60%(阅读数据库... 65%(阅读数据库... 70%(阅读数据库... 75%(阅读数据库... 80%(阅读数据库。 .. 85%(阅读数据库... 90%(阅读数据库... 95%(阅读数据库... 100%(阅读数据库...目前已安装491611个文件和目录。)解压ruby-json-pure(来自... / ruby​​-json-pure_1.5.1-0ubuntu3_all.deb)... dpkg:error handling/var/cache/apt/archives/ruby-json-pure_1.5.1-0ubuntu3_all.deb(--unpack):尝试覆盖'/usr/lib/ruby/vendor_ruby/json.rb',这也是包ruby-json 1.6.3-1没有编写报告,因为MaxReports是重新编写的 已处理error handling时遇到错误:/var/cache/apt/archives/ruby-json-pure_1.5.1-0ubuntu3_all.deb dpkg:依赖性问题阻止配置ruby-vmc:ruby-vmc依赖于ruby-json-pure( > = 1.5.1); 但是:没有安装包ruby-json-pure。  dpkg:error handlingruby-vmc( -  configure):依赖性问题 - 留下未配置的dpkg:依赖性问题阻止cloudfoundry-client的配置:cloudfoundry-client依赖于ruby-vmc(= 0.3.10-0ubuntu10); 但是:尚未配置包ruby-vmc。  dpkg:error handlingcloudfoundry-client( -  configure):依赖性问题 - 保持未配置状态 

当我执行:

 sudo apt-get删除ruby-json-pure ruby​​-json
正在读取软件包列表...完成
正在分析软件包的依赖关系树       
正在读取状态信息...完成       
 **包ruby-json-pure没有安装,所以不会被删除**
您可以使用“apt-get -f install”来更正此错误:
不满意的依赖:
  libjson-ruby:取决于:ruby-json但它不会被安装
  libjson-ruby1.8:取决于:ruby-json但它不会被安装
  ruby-vmc:取决于:ruby-json-pure(> = 1.5.1),但不会安装
 E:不满意的依赖。请尝试执行“apt-get -f install”。

所以现在我无法移除或安装任何东西。 请一步一步帮助解决这个问题,谢谢。

看起来您配置了冲突的存储库,并且这些存储库中的软件包都在尝试安装并且存在冲突。 这不是一个简单的答案修复。 通常它会逐步找到哪些包冲突,删除它们并安装所需的包。 如果您对此过程不是很熟悉,最好在聊天频道中提问。

我可以回答的第一步是在您粘贴的输出中给出的。

dpkg: error processing /var/cache/apt/archives/ruby-json-pure_1.5.1-0ubuntu3_all.deb (--unpack): trying to overwrite '/usr/lib/ruby/vendor_ruby/json.rb', which is also in package ruby-json 1.6.3-1 

因此ruby-json包与ruby-json-pure包冲突。 制作包的人没有正确指定包装上的冲突。 我们应该提交一个错误。

您可以从尝试删除这两个软件包并安装一个软件包开始

 $ sudo apt-get remove ruby-json-pure ruby-json 

我只是试图在我的12.10系统上重新创建错误,但我没有可用的ruby-json-pure pacakge。 您启用了哪些存储库?

最后,我建议你不要使用系统ruby,而是考虑使用rbenv,这样你就可以在不同的环境中同时使用ruby-json和ruby-json-pure。

当您意外地在系统中安装到架构师或相同软件包的版本时,就会发生这种情况。 在破损的软件包中使用synaptic应用程序(在左栏中)选择修复它,你也可以使用apt-get -f来修复它。