繁体   English   中英

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

[英]yum install mongodb on aws linux fails: no package available

目的

我正在尝试通过 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

(...也尝试启用=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

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

您不需要创建新的/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,但您可以在文档中找到早期版本的:

[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 编辑器,请检查此处或继续执行以下操作:

ESC + :wq

之后,您可以继续执行文档或旧的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

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

$ ./mongod

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

$ sudo service mongod stop
$ sudo mongod

我能发现的唯一错误是 "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”了。

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

对于在运行 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

现在有一个专门用于 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

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

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

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

但是在执行 install mongodb-org 之后需要添加上面的行:

sudo yum install -y mongodb-org

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM