自从今天发布以来,我一直尝试升级到 12.10,但我一直遇到此错误:
An unresolvable problem occurred while calculating the upgrade:
E:Unable to correct problems, you have held broken packages.
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
我尝试更新所有当前安装的软件,删除所有额外的 PPA,降级从 xorg edgers 的 ppa 安装的文件,但我无法解决问题。
答案1
就像声明的那样这里,删除 PPA 源并不总是有效。
您需要卸载有问题的软件包。您可以使用以下命令找到它们:
grep Broken /var/log/dist-upgrade/apt.log
我的是 xorg 包。我使用以下命令将其删除:
sudo apt-get remove xserver-xorg-video-all
然后升级就可以继续了。
答案2
对于“NonPainful”版本升级。
在继续之前,请检查新版本是否可以升级。打开终端并输入此命令
do-release-upgrade -c
如果是,则继续:
删除您添加的所有外部 PPA。
从软件中心 > 编辑 > 软件源 > 其他软件。不要只取消勾选,还要删除它们。
然后关闭所有图形应用程序并只打开一个终端。(全屏更好)给出以下命令
sudo apt-get update sudo apt-get dist-upgrade
然后发出下面的命令来做一些家务
sudo apt-get --purge autoremove sudo apt-get autoclean sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
然后你就可以继续升级了
sudo do-release-upgrade
升级期间请勿导航或打开窗口或程序。
请耐心等待,直至升级完成。
友好:第一天不要急着升级。第二天或第三天再升级(更好)。
答案3
我通过使用 ppa-purge 删除已安装的 ppa 包来修复我的错误
我知道我需要通过检查 apt.log 文件末尾的 /var/log/dist-upgrade/ 中的日志来做到这一点,您将看到是什么让它感到困惑。在我的系统中,它是一个视频驱动程序,并且我正在运行几个升级,所以我做了:
sudo ppa-purge ppa:ubuntu-x-swat/x-updates
sudo ppa-purge ppa:unity-team/staging
sudo ppa-purge ppa:webapps/preview
sudo ppa-purge ppa:nilarimogard/webupd8
sudo ppa-purge ppa:scopes-packagers/ppa
sudo ppa-purge ppa:glasen/intel-driver
最后一个 - glasen 驱动程序 - 似乎对我有用。升级现在正在正常进行。
答案4
我在升级时遇到了这个错误信息,尽管是在不同的版本之间 - 我正在执行 14.04 Trusty -> 16.04 Xenial - 但我认为这个提示可能对遇到同样错误的其他人有用,因为我花了很长时间才弄明白,并且这个答案在谷歌上很突出。
检查是否存在任何错误非常重要/var/log/dist-upgrade/main.log
- 就我而言,有一个错误说该软件包postgresql-9.3-postgis-2.1
已被列入黑名单,无法删除,而升级过程正在尝试删除它。删除该软件包让我可以升级。
(nb/var/log/dist-upgrade/apt.log
可能会通过列出“损坏的”软件包来误导您,但实际上这些软件包并不会阻止升级。)
这个类似的问题和答案也指出了这一点:https://askubuntu.com/a/541406/13868
sudo ubuntu-bug ubuntu-release-upgrader-core
顺便说一句,升级失败后运行,实际上可以检测到此类问题并打开相应的错误报告在您的网络浏览器中 - 这帮助我找到了问题。