我试图在服务器上安装新的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。我绝对不能这么做!我怎样才能让这个错误消失而不干扰卡桑德拉呢?如果我不能用软件包管理器升级它,我不介意。
是否有办法移除包,但保留其所有文件?
发布于 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://serverfault.com/questions/957160
复制相似问题