从 14 升级到 16 后,Apt-get 命令因依赖性问题而失败

从 14 升级到 16 后,Apt-get 命令因依赖性问题而失败

apt-get upgrade 的输出:

sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 gstreamer1.0-clutter : Depends: libcogl15 (>= 1.15.8) but it is not     installable
 libnux-4.0-0 : Depends: libsigc++-2.0-0c2a (>= 2.0.2) but it is not installable
 orage : Depends: libical1 (>= 1.0) but it is not installable
 python : Depends: python-minimal (= 2.7.5-5ubuntu3) but 2.7.11-1 is installed
 python-dev : Depends: python (= 2.7.11-1) but 2.7.5-5ubuntu3 is installed
              Depends: libpython-dev (= 2.7.11-1) but 2.7.5-5ubuntu3 is installed
E: Unmet dependencies. Try using -f.

答案1

一些软件包在 14.04 和 16.04 之间被淘汰,这是升级发行版时很常见的情况。您可以这样做:

-查看您的问题软件包是否适用于 16.04。如果是,您可能希望删除sudo apt-get purge这些软件包,然后重新安装它们。您的软件包在 16.04 下可能具有不同的依赖项,但由于它们是在 14.04 下安装的,因此它们具有该依赖项列表。

-确保您sources.list仅包含 16.04 的有效条目

-您可能希望从头开始重新安装 16.04。像这样的“肮脏升级”并不总是 100% 开箱即用。

答案2

我刚刚从 14.04 Trusty 升级到 16.04 Xenial。我遇到了这个问题,无法安装 libcogl2​​0,因为它破坏了 libcogl15,并且 libcogl15 有很多依赖项,特别是 ubuntu-desktop 包。我显然不想删除 ubuntu-desktop,而且我在这里或 IRC 上找不到任何帮助。这就是我解决这个问题的方法。

我启动了恢复模式。它有一个标记为“dpkg”的选项,表示它将修复损坏的软件包。我选择了它,libcogl15 将与其他几个软件包一起被删除,我不记得它们的名字了,但它们不包括 ubuntu-desktop,所以我决定这样做可以解决我的问题,结果确实如此。

在运行 dpkg 恢复选项之前,我需要做几件事。首先,我需要连接以太网电缆并启动网络(恢复菜单上的另一个选项)。然后我需要进入 root 终端(另一个选项)。在那里我发现 resolv.conf 没有填充,所以我必须使用名称服务器创建它。我还发现路由是错误的,所以我需要添加正确的默认路由。

之后我使用ctrl-d返回菜单并选择 dpkg 选项。这神奇地解决了我的问题,现在我可以顺利工作了。

韋斯

相关内容