如何在不做任何更改的情况下清除 Ubuntu 上的“以下软件包具有未满足的依赖关系”错误

如何在不做任何更改的情况下清除 Ubuntu 上的“以下软件包具有未满足的依赖关系”错误

我正在尝试使用 apt-get 在服务器上安装一些新东西,但收到此错误:

The following packages have unmet dependencies:
 cassandra : Depends: python-support (>= 0.90.0) but it is not installable
             Recommends: ntp but it is not going to be installed or time-daemon
...
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

到目前为止,我在网上找到的所有内容都建议升级/卸载 Cassandra。我绝对不能这么做!我怎样才能在不干扰 Cassandra 的情况下消除此错误?我不介意之后使用包管理器升级它。

有没有办法删除该包但保留其所有文件?

答案1

操纵软件包软件包管理系统,通过手动编辑其软件包数据库,使其处于可能的安装状态之一:/var/lib/dpkg/status。它非常人性化易读。每个软件包都在自己的块中,中间有空行。每个块可以指定依靠冲突休息提供替换行类型,这些行由 dpkg 解析以获取软件包树的视图并安装可能性或问题。

当然,在编辑此文件时要小心易于或者软件包正在运行的程序。停止无人值守升级服务也可能很重要。同时要意识到你的编辑是丢失的当您编辑的软件包被升级/降级并被替代软件包或来自其他存储库的软件包替换时。

在这种情况下,可以python-support依靠:线的卡桑德拉包,然后 dpkg 不再缺少依赖项。

您还可以在 Cassandra 包上放置一个“暂停”标记,以停止它及其地位条目被意外或无人看管覆盖:apt-mark hold cassandra

其他可能性是删除卡桑德拉包裹来自地位数据库。但这样一来,它就容易因缺少对其他软件包的升级而无法正常运行。它的文件将保持不变,并且可能存在由其他软件包配置触发的触发脚本。

或者你可以添加假的python 支持包。当然,如果稍后安装其他真正依赖于它的程序,那将是危险的。

一些更恰当的技巧: https://unix.stackexchange.com/a/161940

相关内容