我如何忽略并修复 apt-get 上未满足的依赖关系?

我如何忽略并修复 apt-get 上未满足的依赖关系?

我曾尝试在 Ubuntu 16.04 上安装几个不同的桌面环境,但在尝试安装时kubuntu-desktop,它运行了,但在操作结束时却出错了。现在,每当我在 上运行某些东西时apt-get,它都永远不会完成!它只给我这个:

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:
kde-telepathy-minimal : Depends: kde-config-telepathy-accounts (>= 15.04.0)  but it is not installed
E: Unmet dependencies. Try using -f.`

当我跑步时sudo apt-get -f install

Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
kde-config-telepathy-accounts
The following NEW packages will be installed:
kde-config-telepathy-accounts
0 upgraded, 1 newly installed, 0 to remove and 18 not upgraded.
439 not fully installed or removed.
Need to get 0 B/137 kB of archives.
After this operation, 825 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 430234 files and directories currently installed.)
Preparing to unpack .../kde-config-telepathy-accounts_4%3a15.12.3-0ubuntu1_amd64.deb ...
Unpacking kde-config-telepathy-accounts (4:15.12.3-0ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/kde-config-telepathy-    accounts_4%3a15.12.3-0ubuntu1_amd64.deb (--unpack):
 trying to overwrite '/usr/share/accounts/services/google-im.service', which is also in package account-plugin-google 0.13+16.04.20160810-0ubuntu1
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Errors were encountered while processing:
/var/cache/apt/archives/kde-config-telepathy-accounts_4%3a15.12.3-0ubuntu1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

我尝试过删除和清除kubuntu-desktop,但它给出了相同的错误代码,并且什么也没做。我尝试过删除和清除kde-config-telepathy。'kde-telepathy'。。kde什么都没用!这让人很沮丧,到底是怎么回事?我该如何解决这个问题?我绝对不想重新安装 Ubuntu,我安装了很多应用程序!

答案1

如果你观察输出,你会发现这一行。

trying to overwrite '/usr/share/accounts/services/google-im.service', 
which is also in package account-plugin-google 0.13+16.04.20160810-0ubuntu1

问题是其中一个文件已经存在于由其他软件包安装的系统中(帐户插件-google) 将被您尝试安装的新软件包覆盖。
但是,除非您未指定它,否则 dpkg 不会覆盖它。

所以你有两个选择

  1. 清除旧的并安装新的或
  2. 用新文件覆盖旧文件。

对于你的情况,我更倾向于第二种解决方案。
要解决此问题,请执行此命令

sudo dpkg -i  --force-overwrite  /var/cache/apt/archives/kde-config-
telepathy-accounts_4%3a15.12.3-0ubuntu1_amd64.deb

其次是

sudo apt-get -f install

答案2

让 Ubuntu 修复未满足的依赖项和损坏的软件包的命令是来自手册页的 sudo apt-get install -f:

-f, --fix-broken 修复;尝试纠正存在损坏依赖关系的系统。此选项与 install/remove 一起使用时,可以忽略任何软件包,以允许 APT 推断出可能的解决方案。如果指定了软件包,则这些软件包必须完全解决问题。第一次运行 APT 时,此选项有时是必要的;APT 本身不允许损坏的软件包依赖关系存在于系统上。系统的依赖结构可能非常损坏,需要手动干预(这通常意味着使用 dselect(1) 或 dpkg --remove 来消除一些有问题的软件包)Blockquote

运行该命令时,Ubuntu 将尝试自行修复。完成后,您可以通过再次运行该命令来测试它是否有效,并且您应该收到类似以下内容的输出:

正在读取软件包列表...完成正在构建依赖关系树正在读取状态信息...完成升级了 0 个软件包,新安装了 0 个软件包,要删除 0 个软件包,并且未升级 2 个软件包。

答案3

经过多次谷歌搜索和实验,我终于搞定了。打开 synaptic,选择 status,然后单击 broken。彻底删除那里的所有内容,然后它又可以正常工作了。几乎就像变魔术一样。但我仍然不明白为什么在修复之前你不能安装任何东西......我想,计算机还有很长的路要走。

相关内容