由于“E:Error,pkgProblemResolver::Resolve 生成​​中断,这可能是由持有的包裹引起的”而阻止从 18.04 升级到 20.04。

由于“E:Error,pkgProblemResolver::Resolve 生成​​中断,这可能是由持有的包裹引起的”而阻止从 18.04 升级到 20.04。

我正在尝试使用 update-manager 将系统从 18.04 升级到 20.04。无论我怎么尝试,在计算升级时都会出现错误:

Could not calculate the upgrade 

An unresolvable problem occurred while calculating the upgrade.

一开始,这个错误给了我一个原因:我必须清除所有 Launchpad PPA。我这样做了,但仍然收到相同的错误,我进行了一些搜索,发现错误报告中,一些用户表示安装 clang-9 解决了这个问题。我自己也这样做了,现在我得到了同样的错误,但解释不同:我“安装了预发布版本。这是一个暂时的问题。”所以我删除了 clang-9,更新并自动删除了所有内容,现在我只是得到了错误,没有任何建议的解释。

由于这个对话框没有帮助,我继续前往 /var/log/dist-upgrade/main.log,在那里我看到了这一行:

ERROR Dist-upgrade failed: 'E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.'

然后我检查了apt.log看看到底发生了什么。显然有很多事情不对劲。

我现在有什么选择?如果你在这个日志中 grep 查找“Broken”,那么升级程序会认为有相当多的软件包是损坏的(尽管它们都没有出现在 dpkg 或 Synaptic 中),删除所有软件包是不可行的,我担心这可能会破坏我的整个系统。根据问题软件包列表,我认为存在一个或两个关键软件包,修复它们将消除整个问题。我只是不确定它们可能是哪些。任何帮助都将不胜感激。

答案1

python-dev 软件包阻止了从 18.04 到 20.04 的预期升级。由于 Python 2.x 不再维护,此软件包已在 20.04 中停用。打开终端并输入:

sudo apt remove python-dev python-is-python2 
sudo apt autoremove  

gnuradio-dev 依赖于 python-dev,因此运行以下命令来卸载它。

sudo apt remove gnuradio-dev

删除 python-dev 和 gnuradio-dev 后,您可能能够从 18.04 升级到 20.04,而do-release-upgrade -d不会收到E:Error, pkgProblemResolver::Resolve generated breaks错误消息。如果没有,请参阅以下答案E:错误,pkgProblemResolver::Resolve 生成​​中断,这可能是由被保留的软件包引起的

如果这不起作用,请执行以下操作:

sudo apt install ppa-purge aptitude
cat /etc/apt/sources.list

运行以卸载软件源中 PPA 的所有软件包。然后运行并尝试使用 从 18.04 升级到 20.04 。sudo ppa-purge ppa-namesudo apt updatedo-release-upgrade -d

如果您尝试从终端进行版本升级但失败了,您将收到一条错误消息,该消息指向日志文件的位置,其中存储了导致错误消息的软件包的信息。如果没有太多其他软件包依赖于阻止版本升级的软件包,您可以安全地卸载它并在版本升级完成后重新安装它。

答案2

我不得不卸载

apt remove python2.7-minimal

不幸的是还有它的所有依赖项。

相关内容