yum install mongodb on aws linux fails: no package available
Asked Answered
S

7

6

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?

Switchback answered 11/5, 2017 at 8:18 Comment(0)
G
8

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
Gilgilba answered 3/2, 2018 at 18:22 Comment(0)
M
1

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´´.

Measly answered 11/5, 2017 at 16:4 Comment(2)
thank you @knud-larsen, good catch, but made no difference for me, still getting the No package mongodb-org available. Error: Nothing to doSwitchback
It's a don't know. ... I also tried using your yum.conf . No issues. yum search mongodb-org is OK, all packages are avuilable.Measly
F
1

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
Findley answered 8/3, 2021 at 23:52 Comment(1)
Worked for me, that's a good solution!Brietta
B
1

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

[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
Beatrice answered 26/3, 2021 at 16:47 Comment(1)
2023 Review: You are right it is compatible with Amazon Linux 2Fielder
S
0

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.

Switchback answered 12/5, 2017 at 10:17 Comment(0)
P
0

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

Pygidium answered 12/4, 2021 at 5:15 Comment(0)
M
-1

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
Manriquez answered 6/7, 2020 at 10:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.