我正在尝试使用 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-name
sudo apt update
do-release-upgrade -d
如果您尝试从终端进行版本升级但失败了,您将收到一条错误消息,该消息指向日志文件的位置,其中存储了导致错误消息的软件包的信息。如果没有太多其他软件包依赖于阻止版本升级的软件包,您可以安全地卸载它并在版本升级完成后重新安装它。
答案2
我不得不卸载
apt remove python2.7-minimal
不幸的是还有它的所有依赖项。