无法解析软件包依赖关系

无法解析软件包依赖关系

当我尝试安装 Wine、PlayonLinux 和其他一些程序时,收到以下消息:

在航站楼

The following packages have unmet dependencies:
 wine : Depends: wine1.5 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

在软件中心

Package dependencies cannot be resolved
This error could be caused by required additional software packages which are missing or not installable. Furthermore there could be a conflict between software packages which are not allowed to be installed at the same time.

我已经尝试使用“aptitude”安装它们,但失败了。

我正在运行 Ubuntu 12.10

请帮忙!我遇到这个问题已经有一段时间了,不知道该怎么办!

答案1

首先,如果您安装了 Synaptic 包管理器,我会尝试以下步骤:

  1. 打开突触
  2. 选择编辑 > 修复损坏的软件包从菜单中。
  3. 选择应用标记的更改来自编辑菜单或按Ctrl+P
  4. 确认更改摘要并点击申请

如果这不起作用,或者您没有安装 Synaptic,请尝试:

  • sudo apt-get install -f

如果这些都不起作用,请在终端中尝试以下步骤:

  1. sudo apt-get update更新你的包裹清单
  2. sudo apt-get autoclean清理任何不完整的包
  3. sudo apt-get clean清理 apt 缓存
  4. sudo apt-get autoremove将清理所有不需要的依赖项

如果在执行此操作时您可以识别损坏的包裹,则此命令将非常强制地将其删除:

  • sudo dpkg --remove -force --force-remove-reinstreq packagename

当然,用真实名称替换“packagename”。

如果这些都不起作用,我建议你看看这个故障排除指南


资料来源:

答案2

清理缓存并重新下载软件包 sudo apt-get clean sudo apt-get autoclean

尝试使用 sudo apt-get install -f ,我也遇到了这些错误。

进入 ubuntu 软件中心 >> 编辑 >> 软件源 >> 下载自 >> 选择美国 之后重启电脑,进入软件中心输入 wine 并安装

sudo apt-get update 更新您的软件包列表 sudo apt-get autoclean 清理任何部分软件包 sudo apt-get clean 清理 apt 缓存 sudo apt-get autoremove 将清理任何不需要的依赖项

打开终端并复制并粘贴所有代码:

sudo apt-get clean &&
sudo apt-get autoclean &&
sudo apt-get autoremove &&
sudo apt-get update &&
sudo apt-get upgrade &&
sudo add-apt-repository ppa:ubuntu-wine/ppa &&
sudo apt-get update &&
sudo apt-get install wine1.5

如果这不起作用,请尝试这个:我建议你这样做:(大多数情况下,它是有效的)

使用 sudo apt-get install aptitude 命令安装 aptitude

尝试使用以下命令安装您想要安装的软件包

sudo aptitude install Aptitude 将显示错误并向您提供可能的(最佳)解决方案。系统将要求您从 3 个选项中进行选择,并显示类似以下消息

接受此解决方案吗?[Y/n/q/?] 如果您发现所需的软件包未列在(将要)安装列表中,只需按 n 让 aptitude 为您提供下一个最佳解决方案。经过几次尝试,(如果您幸运的话)您将看到所需的软件包在可安装列表中,而导致依赖性问题的软件包将显示在降级列表中。在此阶段按 Y 接受解决方案。软件包将降级以满足安装要求。

很抱歉,我无法为您提供这样的 aptitude 演示版,但您可以查看此页面来了解它的一些操作。

如果在执行此操作时您可以识别损坏的包裹,则此命令将非常强制地将其删除:

sudo dpkg --remove -force --force-remove-reinstreq packagename 当然,用真实名称替换“packagename”。

相关内容