错误:问题:没有提供 mongodb-org-database-tools-extra-4.4.5-1.el8.x86_64 所需的 /usr/libexec/platform-python

Ped*_*shi 10 python linux fedora mongodb

我正在使用 Fedora Linux,当我想通过更新 MongoDB 工具 (mongodb-org-tools) 或我的包时,sudo dnf update 我总是会收到如下错误:

Error: 
 Problem: problem with installed package mongodb-org-database-tools-extra-4.4.4-1.el8.x86_64
  - cannot install the best update candidate for package mongodb-org-database-tools-extra-4.4.4-1.el8.x86_64
  - nothing provides /usr/libexec/platform-python needed by mongodb-org-database-tools-extra-4.4.5-1.el8.x86_64
  - nothing provides /usr/libexec/platform-python needed by mongodb-org-database-tools-extra-4.4.6-1.el8.x86_64
  - nothing provides /usr/libexec/platform-python needed by mongodb-org-database-tools-extra-4.4.7-1.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages)
Run Code Online (Sandbox Code Playgroud)

我在更新 mongodb 时遇到了类似的错误,我通过 解决了它们sudo dnf upgrade mongodb-org-mongos --best --allowerasing。但我仍然对 mongodb 工具有问题

小智 8

我的解决方案是使用 MongoDB for Amazon Linux 并使用 copr 来满足 libcrypto 和 libssl 依赖项

dnf copr enable dioni21/compat-openssl10
Run Code Online (Sandbox Code Playgroud)

就我而言,我使用它按照以下说明在 Fedora 36 上安装 MongoDB 5.0:

https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-amazon/

  • 这次真是万分感谢!我遇到了各种各样的问题试图解决这个问题。这解决了我希望在 Fedora 36 上使用 mongo 的问题。 (2认同)

tim*_*bar 7

我在 Fedora 33 上安装 Mongodb 时也遇到了问题。当我在 /etc/yum.repos.d/mongodb-org.repo 中有以下代码时,就会出现这些问题:

[Mongodb]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
Run Code Online (Sandbox Code Playgroud)

但如果我改用这个存储库(即用下面的代码替换 /etc/yum.repos.d/mongodb-org.repo 中的上面的代码),一切正常:

[Mongodb]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.4/x86_64
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
Run Code Online (Sandbox Code Playgroud)

接下来安装mongodb:

sudo dnf install mongodb-org
Run Code Online (Sandbox Code Playgroud)

启动服务:

sudo service start mongod
Run Code Online (Sandbox Code Playgroud)

按上述方式启动服务后,您可以使用常用的 systemctl 命令来停止、启动和显示服务的状态。上述启动服务的命令只需要一次。

sudo systemctl stop mongod
sudo systemctl start mongod
sudo systemctl status mongod
Run Code Online (Sandbox Code Playgroud)

关于 Fedora 34 的进一步说明:

上述内容在 Fedora 34 上不起作用,因为 mongodb-org-shell 对旧版本 openssl 的依赖会导致问题:

- nothing provides libcrypto.so.10()(64bit) needed by mongodb-org-shell-4.4.0-1.amzn1.x86_64
- nothing provides libssl.so.10()(64bit) needed by mongodb-org-shell-4.4.0-1.amzn1.x86_64 
Run Code Online (Sandbox Code Playgroud)

我从https://jira.mongodb.org/browse/SERVER-58870得出结论,Mongodb 团队不打算在 Fedora 上支持他们的产品,因为 Fedora 34 也不支持 Mongodb 5.0,尽管建议了一种解决方法。因此,我将考虑其他 NoSQL 选项。