首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不更改任何内容的情况下清除Ubuntu上的“以下包有未满足的依赖项”错误

如何在不更改任何内容的情况下清除Ubuntu上的“以下包有未满足的依赖项”错误
EN

Server Fault用户
提问于 2019-03-07 10:04:48
回答 1查看 1.9K关注 0票数 0

我试图在服务器上安装新的apt-get,并得到以下错误:

代码语言:javascript
复制
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。我绝对不能这么做!我怎样才能让这个错误消失而不干扰卡桑德拉呢?如果我不能用软件包管理器升级它,我不介意。

是否有办法移除包,但保留其所有文件?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-03-07 19:15:38

您可以通过手工编辑dpkg包管理系统中可能安装的状态之一的包数据库:/var/lib/dpkg/status来操作dpkg包管理系统。这是相当人性化的可读性。每个包在自己的块中,中间有空行。每个块可以指定依赖、冲突、中断、提供、替换行的类型,这些行由dpkg解析,以获得包树的视图,并安装各种可能性或问题。

当然,当apt或dpkg程序运行时,您应该小心编辑这个文件。停止无人值守的升级服务也很重要。同时也要意识到,当您编辑的包被替代或从另一个存储库替换时,您的编辑就会丢失。

在这种情况下,可以将python-support包从依赖项中移除: cassandra包的行,然后dpkg不再缺少依赖项。

您还可以在cassandra包上放置一个持有标记,以阻止它及其状态条目被意外地或无人参与地覆盖:apt-mark hold cassandra

其他可能的方法是从状态数据库中删除cassandra包。但这将使它很容易失去对其他软件包的升级,从而使其无法正常工作。它的文件将被单独保存,并且可能会有由其他包配置触发的触发脚本。

或者你可以添加一个假的python支持包。当然,如果以后安装了其他程序,这将是很危险的,这确实取决于它。

一些更贴切的技巧:https://unix.stackexchange.com/a/161940

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/957160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档