无法从 14.04 升级到 16.04。我尝试升级sudo do-release-upgrade
但失败,并出现以下错误:
Calculating the changes
Could not calculate the upgrade
An unresolvable problem occurred while calculating the upgrade.
This can be caused by:
* Upgrading to a pre-release version of Ubuntu
* Running the current pre-release version of Ubuntu
* Unofficial software packages not provided by Ubuntu
If none of this applies, then please report this bug using the
command 'ubuntu-bug ubuntu-release-upgrader-core' in a terminal.
Restoring original system state
/var/log/dist-upgrade/main.loghttps://www.dropbox.com/s/3gf1tg8uxmn75jq/main.log?dl=0 /var/log/dist-upgrade/apt.log https://www.dropbox.com/s/79i2mf320pvg3bl/apt.log?dl=0
我不明白为什么包管理器不能解决这个问题以及哪个包是这个问题的根源。
感谢任何帮助。
答案1
我在完全更新的 14.04 LTS 系统上使用“关于此计算机”>“升级”路径时遇到了同样的问题。我有来自多个替代存储库的软件,一些帖子表明这些软件可能是导致问题的原因。
grep Broken /var/log/dist-upgrade/apt.log
报告了 163 行,其中许多与 gnuplot 有关。我注意到其他几篇帖子也报告了 gnuplot 存在问题。
我使用 Synaptic 删除了系统上安装的两个 gnuplot 包,然后关闭了 Synaptic。有趣的是,在 Synaptic 中使用“已安装(可升级)”进行过滤时,只显示这两个包(gnuplot 和 gnuplotX11),并且复选框中都有感叹号。
然后do-release-upgrade
就工作了。
答案2
答案3
问题出在某些包中,而每个用户的情况可能有所不同,因此没有适合每种具体情况的通用解决方案,但有一种算法可以帮助我:
- 尝试运行
sudo do-release-upgrade
- 检查日志
/var/log/dist-upgrade/
,尝试查找可能导致错误的软件包 - 删除步骤 2 中找到的包并返回步骤 1
我删除了几个不同的包,在某些时候发布升级确实运行良好
答案4
我从 16.04 升级到 18.04 但我认为这条评论仍然适用。
首先我按照说明这里运行后,sudo do-release-upgrade
我收到了一条很长的“无法解决的问题”错误消息。我检查了一下grep Broken /var/log/dist-upgrade/apt.log
,发现许多损坏的软件包都来自 ros-kinetic。所以我卸载了 ros-kinetic
sudo apt remove ros-kinetic-*
然后运行升级
sudo do-release-upgrade
此后升级不再引发该错误