在aws linux上安装yong install mongodb失败:没有可用的包

时间:2017-05-11 08:18:55

标签: linux mongodb amazon-web-services yum

目的

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

先决条件

我创建了一个/etc/yum.repos.d/mongodb.repo文件并尝试了official documentations上的内容和stackoverflow link1 link2 {{3}上的相关问题的所有可用组合},例如:

[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

(...尝试使用enabled = 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

问题

运行时我得到相同的输出 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

问题

我错过了什么?还有其他依赖项吗?

7 个答案:

答案 0 :(得分:2)

您无需创建新的/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
~
~

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

[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

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

ESC + :wq

之后,您可以继续执行documentation或旧版C9 Forum中的步骤,但这里只是以防万一:

$ 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

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

$ ./mongod

最后一个命令可能无法运行mongodb本地服务器,您可以找到该here的解决方案,或者继续运行这两个命令:

$ sudo service mongod stop
$ sudo mongod

答案 1 :(得分:1)

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

  

name = MongoDB存储库

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

# yum search mongodb-org
Loaded plugins: fastestmirror, langpacks
base                                      | 3.6 kB     00:00            
.      
mongodb-org-3.4                           | 2.5 kB     00:00     
updates                                   | 3.4 kB     00:00     
(1/5): mongodb-org-3.4/primary_db         |  30 kB   00:00     
.
=========================== N/S matched: mongodb-org ============
mongodb-org-debuginfo.x86_64 : Debug information for package mongodb-org
mongodb-org.x86_64 : MongoDB open source document-oriented database system
                   : (metapackage)
mongodb-org-mongos.x86_64 : MongoDB sharded cluster query router
mongodb-org-server.x86_64 : MongoDB database server
mongodb-org-shell.x86_64 : MongoDB shell client
mongodb-org-tools.x86_64 : MongoDB tools

所以我猜你现在可以安装``mongodb-org''。

答案 2 :(得分:0)

问题是我想从默认的ec2_user / home文件夹中执行此操作。你需要cd ..到root,然后在那里找到etc / yum.repos.d /文件夹。

答案 3 :(得分:0)

对于那些在运行 ARM AMI Linux 2 映像后发现此错误的人,只需直接从测试存储库安装 RPM,这是唯一一个支持 Amazon AArch64 上所有二进制文件的:

https://repo.mongodb.org/yum/amazon/2/mongodb-org/testing/aarch64/RPMS/

例如安装最新的mongo shell:

sudo yum install -y https://repo.mongodb.org/yum/amazon/2/mongodb-org/testing/aarch64/RPMS/mongodb-org-shell-4.4.4-0.1.rc1.amzn2.aarch64.rpm

答案 4 :(得分:0)

现在有一个专门的 AWS Linux 存储库。 按照 https://docs.mongodb.com/master/tutorial/install-mongodb-on-amazon/ 的说明进行操作 例如

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

答案 5 :(得分:0)

当我的安装命令指定 sudo yum install mongodb-org-tools-4.0.18 时发生了这种情况,但 yum list available | grep mongo 显示只有 3.6 可用。所以我做了 sudo yum install mongodb-org-tools 并且奏效了。

答案 6 :(得分:-1)

我认为您尝试从exclude添加/etc/yum.conf目录以防止将来进行更新 例如:

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

但是在执行安装mongodb-org之后需要添加以上行:

sudo yum install -y mongodb-org