当我输入命令时:
sudo apt install libstdc++6:i386
我得到输出:
The following packages have unmet dependencies:
libstdc++6 : Breaks: libstdc++6:i386 (!= 8.2.0-1ubuntu2~18.04) but 8-20180414-1ubuntu2 is to be installed
libstdc++6:i386 : Depends: gcc-8-base:i386 (= 8-20180414-1ubuntu2) but 8.2.0-1ubuntu2~18.04 is to be installed
Breaks: libstdc++6 (!= 8-20180414-1ubuntu2) but 8.2.0-1ubuntu2~18.04 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
这个答案(https://askubuntu.com/a/1104999/772004) 显示 8.2.0-1ubuntu2~18.04 指的是“bionic-updates”存储库,而 8-20180414-1ubuntu2 指的是“bionic”存储库。
为什么这些软件包会发生冲突?“要安装”不同的软件包是什么意思?最后,我该如何解决这个问题?
编辑: 我确实找到了解决方案。我需要将 bionic-updates 和 bionic-security 存储库添加到我的 sources.list 文件中。此外,Sophos AV 给 apt 带来了一些麻烦。一旦我更改了 sources.list 并卸载了 Sophos AV,我就可以更新并解决所有依赖关系问题。
答案1
为了解决这个问题,我需要编辑我的 /etc/apt/sources.list 文件。
我只有这一行:
deb http://archive.ubuntu.com/ubuntu bionic main universe restricted multiverse
我需要添加以下几行:
deb http://archive.ubuntu.com/ubuntu bionic-security main universe restricted multiverse
deb http://archive.ubuntu.com/ubuntu bionic-updates main universe restricted multiverse
添加 bionic-security 和 bionic-updates 存储库。之后我仍然遇到了一些问题,结果发现与 Sophos AV 有关。卸载 Sophos AV 后,
sudo apt update
sudo apt upgrade
修复了所有依赖关系。