在 aws linux 上 yum install mongodb 失败:没有可用的包

pix*_*ack 4 linux yum mongodb amazon-web-services

目的

我正在尝试通过 Yum 在 EC2 AWS x86_64 GNU/Linux 上安装 mongodb。

先决条件

我创建了一个/etc/yum.repos.d/mongodb.repo文件并尝试了在官方文档和有关 stackoverflow link1 link2 link3的相关问题中找到的所有可用组合,例如:

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

(...也尝试启用=0,gpgcheck=0)

我还添加了一个/etc/yum.conf这样的文件:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
Run Code Online (Sandbox Code Playgroud)

问题

我在运行时得到相同的输出 sudo yum install mongodb-org(或者通过指定包sudo yum install mongo-org mongo-org-server或通过指定版本sudo yum install -y mongodb-org-3.2.13 mongodb-org-server-3.2.13 mongodb-org-shell-3.2.13 mongodb-org-mongos-3.2.13 mongodb-org-tools-3.2.13

Loaded plugins: priorities, update-motd, upgrade-helper amzn-main | 2.1 kB 00:00 amzn-updates | 2.3 kB 00:00 No package mongodb-org available. Error: Nothing to do

我错过了什么?是否有任何额外的依赖?

Sal*_*mza 6

您不需要创建新的/etc/yum.repos.d/mongodb.repo或在此答案时创建,/etc/yum.repos.d/mongodb-org-3.6.repo因为它已经存在但它是空的。

您可以检查:cat /etc/yum.repos.d/mongodb-org-3.6.repo

您需要做的就是在 vi 编辑器上打开文件:

$ sudo vi /etc/yum.repos.d/mongodb-org-3.6.repo
~
~
Run Code Online (Sandbox Code Playgroud)

将此代码添加到存储库文件中。我提供的是 MongoDB 3.6,但您可以在文档中找到早期版本的:

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

要保存并退出 vi 编辑器,请检查此处或继续执行以下操作:

ESC + :wq
Run Code Online (Sandbox Code Playgroud)

之后,您可以继续执行文档或旧的C9 论坛中的步骤,但这里是为了以防万一:

$ sudo yum install -y mongodb-org

$ sudo mkdir -p /data/db
$ echo 'mongod --bind_ip=$IP --dbpath=data --nojournal --rest "$@"' > mongod
$ chmod a+x mongod
Run Code Online (Sandbox Code Playgroud)

您可以通过在项目根目录上运行 mongod 脚本来启动 mongodb:

$ ./mongod
Run Code Online (Sandbox Code Playgroud)

最后一个命令可能不会运行 mongodb 本地服务器,您可以在此处找到解决方案,或者继续运行以下两个命令:

$ sudo service mongod stop
$ sudo mongod
Run Code Online (Sandbox Code Playgroud)


Knu*_*sen 1

我能发现的唯一错误是“name”中的空格:

\n\n
\n

名称=MongoDB 存储库

\n
\n\n

将命名更改为 name=MongoDB 后,我使用 CenOS 7 进行了测试:

\n\n
# yum search mongodb-org\nLoaded plugins: fastestmirror, langpacks\nbase                                      | 3.6 kB     00:00            \n.      \nmongodb-org-3.4                           | 2.5 kB     00:00     \nupdates                                   | 3.4 kB     00:00     \n(1/5): mongodb-org-3.4/primary_db         |  30 kB   00:00     \n.\n=========================== N/S matched: mongodb-org ============\nmongodb-org-debuginfo.x86_64 : Debug information for package mongodb-org\nmongodb-org.x86_64 : MongoDB open source document-oriented database system\n                   : (metapackage)\nmongodb-org-mongos.x86_64 : MongoDB sharded cluster query router\nmongodb-org-server.x86_64 : MongoDB database server\nmongodb-org-shell.x86_64 : MongoDB shell client\nmongodb-org-tools.x86_64 : MongoDB tools\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以我想你现在可以安装``mongodb-org\xc2\xb4\xc2\xb4。

\n