Ubuntu 12.04 - 确认未满足的依赖项



我想在 Ubuntu 12.04 上安装 Oracle XE 10g 和 Shorewall

问题:Oracle XE 10g需要"bc:i386",Shorewall需要"bc"(两者都是依赖项...)。

我认为不可能同时拥有两个 bcs......由于Oracle XE 10g只需要"bc:386"进行配置(而不是在配置后运行数据库) - 其思路如下:

  1. 安装带有"bc:386"的 Oracle XE 10g
  2. 使用命令卸载"BC:I386"(数据库仍在运行 - BC:I386 仅用于配置):"dpkg -r --force-dependBC:I386"
  3. 安装Shorewall(和"BC"),每个人都很高兴。

问题:当我想在"dpkg -r --force-dependbc:i386"之后使用 apt-get 时,它抱怨未满足的依赖项。

apt-get install shorewall
Reading package lists... Done
Building dependency tree 
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 oracle-xe-universal:i386 : Depends: bc:i386 but it is not going to be installed
 shorewall : Depends: bc but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

如何解决这个问题?请记住 - 我想使用 Oracle XE 10g 和 shorewall - 所以请不要回答"使用 mysql 而不是 oracle"等等;-)

谢谢!

这篇文章似乎处理了类似的问题

我的第一个建议是在那篇帖子中:安装 amd64 变体 bc 并忽略 bc:i386 软件包。

我也不清楚您是否尝试了建议的解决方案apt-get -f -install如果是,发生了什么。

一般来说,混合 dpkgapt-get 来操作包数据库并没有很好的帮助,除非你确切地知道你在做什么。

您可以尝试的另一种变体是在一次 apt-get 安装调用中指定 oracle 和 shorewall,并浏览所有解析器建议。(请注意:这可能是一种耗时的困难方法,尤其是在启用选项 --full-resolver 的情况下)

最新更新