我正勇敢地尝试进入“apt 世界”,今晚在克隆上测试从 16.04 升级到 19.04 时出现了这些错误(这......嗯......很复杂......):
The following packages have unmet dependencies:
indicator-bluetooth : Depends: unity-control-center but it is not going to be installed or
gnome-control-center but it is not going to be installed or
ubuntu-system-settings but it is not installable
libdouble-conversion1v5 : Conflicts: libdouble-conversion1 but 3.1.0-2 is to be installed
Breaks: libdouble-conversion1 but 3.1.0-2 is to be installed
libqt5dbus5 : Depends: qtbase-abi-5-5-1
libqt5network5 : Depends: qtbase-abi-5-5-1
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
有人知道如何解决这些错误或我可以提供哪些其他信息来帮助解决这些错误吗?
16.04 到 19.04 的升级是通过脚本进行的,因此如果这有帮助的话,我可以预先安装软件包。我已经重新克隆了 16.04 并运行了五次脚本来解决其他错误,现在我几乎可以看到隧道尽头的曙光了。
回复评论
目前仅安装并通过升级进行转换的 Unity Desktop。升级成功后,我计划安装 Gnome Desktop 和可能的 Wayland。
我发现升级之前就存在一个问题:
$ sudo dpkg -P libdouble-conversion1v5
dpkg: dependency problems prevent removal of libdouble-conversion1v5:amd64:
libqt5qml5:amd64 depends on libdouble-conversion1v5 (>= 2.0.0).
dpkg: error processing package libdouble-conversion1v5:amd64 (--purge):
dependency problems - not removing
Errors were encountered while processing:
libdouble-conversion1v5:amd64
另一项要求是:
$ apt list --installed | grep hw
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
hwdata/xenial-updates,xenial-updates,now 0.267-1ubuntu2 all [installed]
linux-generic-hwe-16.04/xenial-updates,xenial-security,now 4.15.0.55.76 amd64 [installed]
linux-headers-generic-hwe-16.04/xenial-updates,xenial-security,now 4.15.0.55.76 amd64 [installed]
linux-hwe-tools-4.15.0-54/xenial-updates,xenial-security,now 4.15.0-54.58~16.04.1 amd64 [installed,automatic]
linux-hwe-tools-4.15.0-55/xenial-updates,xenial-security,now 4.15.0-55.60~16.04.2 amd64 [installed,automatic]
linux-image-generic-hwe-16.04/xenial-updates,xenial-security,now 4.15.0.55.76 amd64 [installed,automatic]
linux-signed-generic-hwe-16.04/xenial-updates,xenial-security,now 4.15.0.55.76 amd64 [installed]
linux-signed-image-generic-hwe-16.04/xenial-updates,xenial-security,now 4.15.0.55.76 amd64 [installed]
linux-tools-generic-hwe-16.04/xenial-updates,xenial-security,now 4.15.0.55.76 amd64 [installed,automatic]
lshw/xenial-updates,now 02.17-1.1ubuntu3.6 amd64 [installed]
xserver-xorg-core-hwe-16.04/xenial-updates,xenial-security,now 2:1.19.6-1ubuntu4.1~16.04.2 amd64 [installed]
xserver-xorg-hwe-16.04/xenial-updates,now 1:7.7+16ubuntu3~16.04.1 amd64 [installed]
xserver-xorg-input-all-hwe-16.04/xenial-updates,now 1:7.7+16ubuntu3~16.04.1 amd64 [installed]
xserver-xorg-input-evdev-hwe-16.04/xenial-updates,now 1:2.10.5-1ubuntu1~16.04.1 amd64 [installed]
xserver-xorg-input-synaptics-hwe-16.04/xenial-updates,now 1.9.0-1ubuntu1~16.04.1 amd64 [installed]
xserver-xorg-input-wacom-hwe-16.04/xenial-updates,now 1:0.34.0-0ubuntu2~16.04.1 amd64 [installed]
xserver-xorg-legacy-hwe-16.04/xenial-updates,xenial-security,now 2:1.19.6-1ubuntu4.1~16.04.2 amd64 [installed,automatic]
xserver-xorg-video-all-hwe-16.04/xenial-updates,now 1:7.7+16ubuntu3~16.04.1 amd64 [installed]
xserver-xorg-video-amdgpu-hwe-16.04/xenial-updates,now 18.0.1-1~16.04.1 amd64 [installed]
xserver-xorg-video-ati-hwe-16.04/xenial-updates,now 1:18.0.1-1~16.04.1 amd64 [installed]
xserver-xorg-video-fbdev-hwe-16.04/xenial-updates,now 1:0.4.4-1build6~16.04.1 amd64 [installed]
xserver-xorg-video-intel-hwe-16.04/xenial-updates,now 2:2.99.917+git20171229-1~16.04.1 amd64 [installed]
xserver-xorg-video-nouveau-hwe-16.04/xenial-updates,now 1:1.0.15-2~16.04.1 amd64 [installed]
xserver-xorg-video-qxl-hwe-16.04/xenial-updates,now 0.1.5-2build1~16.04.1 amd64 [installed]
xserver-xorg-video-radeon-hwe-16.04/xenial-updates,now 1:18.0.1-1~16.04.1 amd64 [installed]
xserver-xorg-video-vesa-hwe-16.04/xenial-updates,now 1:2.3.4-1build3~16.04.1 amd64 [installed]
xserver-xorg-video-vmware-hwe-16.04/xenial-updates,now 1:13.2.1-1build1~16.04.1 amd64 [installed]
下一步
我可能遭遇了包裹被扣留的情况:
因为这三个包都存在于16.04它们只是没有升级到19.04:
$ apt list unity-control-center
Listing... Done
unity-control-center/xenial-updates,now 15.04.0+16.04.20171130-0ubuntu1 amd64 [installed]
N: There is 1 additional version. Please use the '-a' switch to see it
$ apt list libqt5core5a
Listing... Done
libqt5core5a/xenial-updates,xenial-security,now 5.5.1+dfsg-16ubuntu7.6 amd64 [installed]
N: There is 1 additional version. Please use the '-a' switch to see it
$ apt list libdouble-conversion1v5
Listing... Done
libdouble-conversion1v5/xenial,now 2.0.1-3ubuntu2 amd64 [installed]
链接中的答案有很多建议,下班后我首先尝试的是:
sudo apt-get --with-new-pkgs upgrade
答案1
我建议使用以下命令之一尝试更深入的方法:
尝试获取新的依赖项
sudo apt-get dist-upgrade
尝试 Aptitude 的安全升级
sudo aptitude safe-upgrade
尝试 Aptitude 的 dist-upgrade
sudo aptitude safe-upgrade
尝试 Aptitude TUI 查看损坏的软件包
sudo aptitude
如果所有这些命令都失败 - 则使用以下方法之一重新开始删除过时的软件包:
和
apt-get
sudo apt-get autoremove
使用 Aptitude 的 TUI
sudo aptitude
然后导航至过时的和本地创建的软件包并小心地从此部分移除包裹,同时控制破损的包裹。
笔记:
- 在干净的 Ubuntu 19.04 VM 上,我无法安装
libdouble-conversion1v5
软件包,因为它来自 16.04 LTS。 我已成功使用以下命令将 Ubuntu MATE 16.04 LTS 升级到 19.04:
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install libdouble-conversion1v5 sudo apt-get clean sudo sed -i 's/xenial/disco/' /etc/apt/sources.list sudo apt-get update sudo apt-get dist-upgrade
但是为了将默认的 Ubuntu 16.04 LTS(带有 Unity)升级到 19.04,我被迫使用了
sudo apt-get dist-upgrade -f
几次才成功并使用sudo dpkg -i --force-all /var/cache/apt/archives/grilo-plugins*.deb
(仅适用于这个包)。我还使用以下命令成功运行了 Ubuntu MATE(和 Unity)16.04 LTS → 18.04 LTS → 19.04 的升级:
sudo apt-get update # on 16.04 LTS sudo apt-get dist-upgrade sudo apt-get install libdouble-conversion1v5 sudo apt-get clean sudo do-release-upgrade # with reboot into 18.04 LTS sudo sed -i 's/Prompt=never/Prompt=normal/' /etc/update-manager/release-upgrades sudo apt-get clean sudo do-release-upgrade # to 19.04
所以看来我们需要检查一下您的升级脚本:)