简体   繁体   中英

yum install mongodb on aws linux fails: no package available

Purpose

I'm trying to install mongodb on EC2 AWS x86_64 GNU/Linux via Yum.

Prerequisites

I created a /etc/yum.repos.d/mongodb.repo file and tried all the available combinations for it's content found on the official documentations and on the related questions on stackoverflow link1 link2 link3 , for example:

[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

(...tried with enabled=0, gpgcheck=0 too)

I also added a /etc/yum.conf file like this:

[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

Problem

I'm getting the same output when running sudo yum install mongodb-org (or by specifying the packages sudo yum install mongo-org mongo-org-server or by specifying the versions too 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

Question

What am I missing? Is there any additional dependencies?

You don't need to create a new /etc/yum.repos.d/mongodb.repo or at the time of this answer /etc/yum.repos.d/mongodb-org-3.6.repo cause it already exists but it is empty.

You can check with: cat /etc/yum.repos.d/mongodb-org-3.6.repo .

all you need to do is open the file on vi editor:

$ sudo vi /etc/yum.repos.d/mongodb-org-3.6.repo
~
~

add this code to the repository file. The one i provided is for the MongoDB 3.6 but you can find the one for earlier versions in the 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

To save and exit from vi editor check here or go ahead and do this:

ESC + :wq

After that you can proceed with the steps in the documentation or in the old C9 Forum , but here they are just in case:

$ 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

You can start mongodb by running the mongod script on your project root:

$ ./mongod

The last command might not run the mongodb local server, and you can find the solution for that here or just go ahead and run these two commands:

$ sudo service mongod stop
$ sudo mongod

The only error I can spot is the space in "name" :

name=MongoDB Repository

With the naming changed to name=MongoDB, I did a test with 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

So I guess you can now install ``mongodb-org´´.

The problem was that I wanted to do it from the default ec2_user/ home folder. You need to cd .. up to the root, and locate the etc/yum.repos.d/ folder there.

For those of you finding this error after running an ARM AMI Linux 2 image, simply install the RPMs directly from the testing repository, which is the only one that supports all binaries on Amazon AArch64:

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

For example, to install the latest 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

There is a dedicated repository for AWS Linux now. Follow the instructions from https://docs.mongodb.com/master/tutorial/install-mongodb-on-amazon/ eg

[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

I had this happen when my install commands specified sudo yum install mongodb-org-tools-4.0.18 , but yum list available | grep mongo yum list available | grep mongo showed only 3.6 was available. So I did sudo yum install mongodb-org-tools and that worked.

I think you try to add exclude directory from /etc/yum.conf to prevent future updates for example:

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

But above line need to be added after perform install mongodb-org:

sudo yum install -y mongodb-org

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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