目的
我正在尝试通过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
问题
我错过了什么?还有其他依赖项吗?
答案 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