我不确定是什么导致了这个错误,但是整个错误是这样说的,而且这是一个通知,并阻止我使用更新管理器更新任何软件 - 请提供一些帮助或告诉我如何找出如何修复它。
Could not calculate the upgrade
An unresolvable problem occurred while calculating the upgrade.
Please report this bug against the 'update-manager' package and include the following error message:
'E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.'
答案1
这个帖子可能会解决您的问题。总而言之,
/var/log/dist-upgrade/apt.log
在文本编辑器中打开日志文件。- 找到所有“损坏”的包并使用 将其删除。
sudo apt-get remove <package>
注意:在较新的版本中,日志位于/var/log/apt/term.log
。
答案2
尝试:
sudo apt-get update && sudo apt-get upgrade
然后再次运行更新管理器。
答案3
我在从 16.04 升级到 18.04 时出现此错误,中途断电。
错误看起来是这样的,apt-get install -f 无法修复它。
$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
gir1.2-gtk-3.0 : Depends: gir1.2-pango-1.0 (>= 1.40.5) but 1.38.1-1 is installed
Depends: libgtk-3-0 (>= 3.22.29) but 3.18.9-1ubuntu3.3 is installed
hplip : Depends: hplip-data (= 3.17.10+repack0-5) but 3.16.3+repack0-1 is installed
Depends: printer-driver-hpcups (= 3.17.10+repack0-5) but 3.16.3+repack0-1 is installed
Depends: libsane1 (>= 1.0.24) but it is not installed
libhpmud0 : Depends: libsnmp30 (>= 5.7.3+dfsg-1.8ubuntu3~dfsg) but 5.7.3+dfsg-1ubuntu4.2 is installed
onboard : Depends: onboard-common (< 1.4.1-2ubuntu1.1) but it is not installed
Depends: onboard-common (>= 1.4.1-2ubuntu1) but it is not installed
Depends: libhunspell-1.6-0 but it is not installed
Recommends: onboard-data (>= 1.4.1-2ubuntu1) but 1.2.0-0ubuntu5 is installed
python3 : Depends: python3.6 (>= 3.6.7-1~) but it is not installed
Depends: libpython3-stdlib (= 3.6.7-1~18.04) but 3.5.1-3 is installed
python3-apt : Depends: libapt-inst2.0 (>= 1.6.5~) but 1.2.29ubuntu0.1 is installed
Depends: libapt-pkg5.0 (>= 1.6.5~) but 1.2.29ubuntu0.1 is installed
python3-cryptography : Depends: python3-asn1crypto (>= 0.21.0~) but it is not installed
Depends: python3-idna (>= 2.1) but 2.0-3 is installed
python3-gdbm : Depends: libgdbm5 (>= 1.14) but it is not installed
python3-pil : Depends: libwebp6 (>= 0.5.1) but it is not installed
Depends: libwebpdemux2 (>= 0.5.1) but it is not installed
Depends: libwebpmux3 (>= 0.6.1-2) but it is not installed
Recommends: python3-olefile but it is not installed
python3-systemd : Depends: libsystemd0 (>= 233) but 229-4ubuntu21.16 is installed
python3-uno : Depends: libreoffice-core (= 1:6.0.7-0ubuntu0.18.04.2) but 1:5.1.6~rc2-0ubuntu1~xenial6 is installed
Depends: python3.6 but it is not installed
Depends: uno-libs3 (>= 5.3.0~alpha) but 5.1.6~rc2-0ubuntu1~xenial6 is installed
python3.6-dev : Depends: python3.6 (= 3.6.7-1~18.04) but it is not installed
totem-plugins : Depends: libgtk-3-0 (>= 3.19.4) but 3.18.9-1ubuntu3.3 is installed
Depends: liblirc-client0 but it is not installed
Depends: libtotem0 (>= 3.26.0-0ubuntu6.2) but 3.18.1-1ubuntu4 is installed
Depends: totem (= 3.26.0-0ubuntu6.2) but 3.18.1-1ubuntu4 is installed
Depends: gir1.2-totem-1.0 (= 3.26.0-0ubuntu6.2) but 3.18.1-1ubuntu4 is installed
virtualbox : Depends: python3.6 but it is not installed
Depends: libgsoap-2.8.60 but it is not installed
Depends: libpng16-16 (>= 1.6.2-1) but it is not installed
Recommends: libqt5core5a (>= 5.9.0~beta) but 5.5.1+dfsg-16ubuntu7.5 is installed
virtualbox-qt : Depends: libqt5core5a (>= 5.9.0~beta) but 5.5.1+dfsg-16ubuntu7.5 is installed
Depends: libqt5widgets5 (>= 5.7.0) but 5.5.1+dfsg-16ubuntu7.5 is installed
Depends: libqt5x11extras5 (>= 5.6.0) but 5.5.1-3build1 is installed
E: Unmet dependencies. Try using -f.
我也尝试了sudo apt-get remove
/var/log/dist-upgrade/apt.log 中的包,但是也没有用。
这个对我有用
dpkg -l | grep ^iU | awk '{print $2}' | xargs sudo dpkg --purge
它删除了损坏的包裹然后我运行
sudo apt install -f
它下载并安装了软件包。
答案4
昨天有人在操作系统版本升级期间重启后,我遇到了这个问题。由于混乱的规模(约 1500 个软件包),上述所有方法均无效。
为了恢复,我/var/log/apt/history.log
查看了最后一条记录,其中有三个非常长的列表,描述了操作系统升级失败时尝试执行的操作。它由三个列表“升级:”、“安装:”、“删除:”组成,格式如下:
Upgrade: package1:arch (old, new), package2:arch (old, new),
...
将这三个列表放入您最喜欢的正则表达式兼容编辑器中,并将括号中的逗号替换为换行符。对于“删除:”部分,添加一个“-”,这样您就会得到如下列表:
Install:
speech-dispatcher-espeak-ng:amd64
fdisk:amd64
libgoa-backend-1.0-1:amd64
...
Upgrade:
speech-dispatcher-audio-plugins:amd64
ubuntu-settings:amd64
libmpc3:amd64
...
Remove:
qtdeclarative5-ubuntu-ui-toolkit-plugin:amd64-
python-sip:amd64-
gstreamer1.0-plugins-ugly-amr:amd64-
...
“-” 是一个关键的学习内容,因为除非您可以告诉它安装和删除,否则您将无法克服许多依赖循环。
保留此文件的副本,以便以后参考,但要清理它并创建一个新副本:删除文件的所有多余的行,只留下行package:arch
。
使用生成的文件 packages.txt 运行 apt,如下所示
xargs -a packages.txt sudo apt install
此命令将是系统在出现故障之前要执行的所有添加/删除操作,并且应代表一个一致的集合。
假设它完成了,那么您可以使用sudo apt install -f
和完成任何错过的事情sudo apt dist-upgrade
。
最后创建一个仅包含“安装:”软件包列表的新列表,将它们传递给apt-mark auto
软件包以将其标记为自动安装(升级选择了它们,而不是您)。
xargs -a installed.txt sudo apt-mark auto
我希望这能帮助那些认为他们的整个系统已经崩溃的人。