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。我遇到了这个问题,无法安装 libcogl20,因为它破坏了 libcogl15,并且 libcogl15 有很多依赖项,特别是 ubuntu-desktop 包。我显然不想删除 ubuntu-desktop,而且我在这里或 IRC 上找不到任何帮助。这就是我解决这个问题的方法。
我启动了恢复模式。它有一个标记为“dpkg”的选项,表示它将修复损坏的软件包。我选择了它,libcogl15 将与其他几个软件包一起被删除,我不记得它们的名字了,但它们不包括 ubuntu-desktop,所以我决定这样做可以解决我的问题,结果确实如此。
在运行 dpkg 恢复选项之前,我需要做几件事。首先,我需要连接以太网电缆并启动网络(恢复菜单上的另一个选项)。然后我需要进入 root 终端(另一个选项)。在那里我发现 resolv.conf 没有填充,所以我必须使用名称服务器创建它。我还发现路由是错误的,所以我需要添加正确的默认路由。
之后我使用ctrl-d返回菜单并选择 dpkg 选项。这神奇地解决了我的问题,现在我可以顺利工作了。
韋斯