首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Debian 11上安装MongoDb

如何在Debian 11上安装MongoDb
EN

Stack Overflow用户
提问于 2022-04-30 17:45:34
回答 2查看 314关注 0票数 0

我遵循了关于如何将MongoDB安装到Debian 11的描述,在各个地方都可以找到。因为所有的描述都是一样的,所以我选了其中一个。每个输入都按预期工作。甚至尝试启动服务。

sudo系统启动单神

不会产生任何错误。当我检查状态时

sudo systemctl状态单神

我收到:

mongod.service - MongoDB数据库服务器加载: loaded (/lib/systemd/system/mongod.service;启用;供应商预置:已启用) Active: failed (结果: signal),自Sat 2022-04-30 19:31:40 CEST;3s MongoDB Docs:https://docs.mongodb.org/manual Process: 506851 ExecStart=/usr/bin/mongod.conf /etc/mongod.conf (code=killed,signal=ILL)主PID: 506851 (code=killed,signal=ILL) CPU: 12 3s

如果我试着打电话给芒戈,我会收到德语的留言:

"Ungültiger Maschinenbefehl“

我卸载了几次,但结果总是一样的。有人知道吗?

EN

回答 2

Stack Overflow用户

发布于 2022-05-02 08:37:12

"Ungültiger Maschinenbefehl“

这看起来非常像一个“非法指令”(这也是(code=killed, signal=ILL)打印出的systemd所暗示的):根据man 7 signalSIGILL的意思确实是illegal instruction

当二进制的机器代码包含CPU不理解的指令时,就会发生“非法指令”。

现在,有几种安全措施可以防止您运行完全不兼容的二进制文件(例如,尝试在amd64上运行RaspberryPi二进制文件),但是即使对于给定的体系结构(例如amd64),也有许多不同(附加)指令集的CPU变体。

因此,在您的例子中,最有可能的是MongoDB是为最新和最伟大的CPU (或您的体系结构)编译的,使用了所有优秀的SIMD和其他可用的加速。不幸的是,您的CPU似乎老了(不支持这些漂亮的和诸如此类的指令),并且一旦执行到达这样的指令,程序就会终止。

现在,正式的Debian包需要花费很大的时间来支持最小的基线CPU,它的指令集几乎可以在给定体系结构的所有CPU上使用(缺点是它不是最优化的CPU)。但是,您使用的包是由某个第三方编写的,他们似乎不关心与旧CPU的兼容性(或者他们只是不知道这个问题)。

如何解决这个问题:

itself)

  • upgrade

  • 重新编译您的软件,特别是您的CPU

  • ,请二进制文件的提供者也为遗留的CPU提供二进制程序(可能使用像Debian

  • CPU

这样的基线CPU)。

票数 0
EN

Stack Overflow用户

发布于 2022-05-06 20:13:12

我问了NetCup,我的Provider提供商.该系统支持模具AVX指令集。因此,无法安装MongoDB 5.0,这是导致指令错误的原因。我不得不安装MongoDB 4.4。确实起作用了。

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

https://stackoverflow.com/questions/72070801

复制
相关文章

相似问题

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