我已经解决过在这里和其他地方可以找到的所有类似的问题,但仍然无法找到可行的解决方案。
我尝试过的事情:
apt-get install libc6:i386
这将尝试删除大多数当前安装的 64 位库,这些库如果运行会导致机器无法使用。
我根据其他问题/答案运行了以下步骤,但仍然无果:
dpkg --add-architecture i386
apt-get update
apt-get upgrade
apt-get dist-upgrade
一切都干净利落地完成,但不会改变尝试安装 32 位库的输出。
下一个选择是尝试:
apt-get install libc6-i386
返回:
The following packages have unmet dependencies,
libc6-i386 : Depends: libc6 (= 2.23-0ubuntu3) but 2.23-0ubuntu10 is to be installed
E: Unable to correct problems, you have held broken packages
该错误似乎具有误导性,因为apt-mark showhold
没有返回任何包。
这里的最终目标是安装需要 32 位库的 Symantec AV 包。
答案1
确保您已启用软件与更新并选择好的镜子(我更喜欢主服务器) 在
那就sudo apt-get install libc6:i386
足够了。
或者更深层次的:
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install libc6:i386
sudo apt-get install -f
在我的系统上,libc:i386 安装有版本2.23-0ubuntu10。
答案2
将操作系统启动到恢复模式
在恢复菜单中选择“root -Drop to root shell prompt”
然后
dpkg --add-architecture i386 -f
(强制安装)
apt-get update apt-get upgrade apt-get dist-upgrade
- 然后正常重启。
我遇到了同样的问题,因为我安装了一些第三方软件包,这些软件包破坏dpkg
了依赖关系。在尝试了所有这些答案之后,我打算重新安装 Ubuntu,这时我想到尝试恢复模式。
答案3
首先,确保你的备份有序
运行以下命令:
apt-get upgrade
apt-get dist-upgrade
您可以使用以下命令使您的机器同时支持 i386 和 amd64
sudo dpkg --add-architecture i386
我通过下载解决了这个问题libc6:i386.deb从https://packages.ubuntu.com/bionic/libc6 并执行
sudo dpkg -i xxx1.deb
尝试正常安装,但如果出现覆盖 /xxx/xxx/doc/xxx/xxx 的错误,您可以直接忽略它,运行以下命令:
sudo dpkg --force-overwrite -i xxx1.deb
我的 Ubuntu 版本是 18.04,与你的不一样:请确保你为你的 Ubuntu 版本选择了正确的下载
答案4
添加 x32 架构
$
sudo dpkg --add-architecture i386
下一步!- 在 repo
$
sudo apt --fix-broken install中重建你的库
下一步 -> 尝试安装你的软件包
$
sudo dpkg -i xxx1.deb