当我尝试安装 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 包管理器,我会尝试以下步骤:
- 打开突触
- 选择编辑 > 修复损坏的软件包从菜单中。
- 选择应用标记的更改来自编辑菜单或按Ctrl+P
- 确认更改摘要并点击申请
如果这不起作用,或者您没有安装 Synaptic,请尝试:
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 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”。