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
题
我错过了什么?是否有任何额外的依赖?
您不需要创建新的/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)
我能发现的唯一错误是“name”中的空格:
\n\n\n\n\n名称=MongoDB 存储库
\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\nRun Code Online (Sandbox Code Playgroud)\n\n所以我想你现在可以安装``mongodb-org\xc2\xb4\xc2\xb4。
\n| 归档时间: |
|
| 查看次数: |
5248 次 |
| 最近记录: |