我该如何解决包依赖冲突?

我该如何解决包依赖冲突?

当我输入命令时:

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

修复了所有依赖关系。

相关内容