E: Paket mongodb-org konnte nicht gefunden werden


102

Ich versuche, mongodb herunterzuladen und folge den Schritten auf diesem Link .

Aber wenn ich zum Schritt komme:

sudo apt-get install -y mongodb-org

Ich erhalte folgende Fehlermeldung:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package mongodb-org  //This is the error

Warum tritt dies auf und gibt es eine Problemumgehung?

Antworten:


204

Ich hatte das gleiche Problem, konnte es jedoch durch Ändern des Befehls "package file section" beheben. Der ganze Schritt, dem ich folgte, war:

Versuchen Sie es zuerst mit diesem Befehl: sudo apt-get install -y mongodb

Dies ist das inoffizielle Mongodb-Paket, das von Ubuntu bereitgestellt wird. Es wird nicht von MongoDB verwaltet und steht in Konflikt mit den offiziell unterstützten Paketen von MongoDB.

Wenn der obige Befehl nicht funktioniert, können Sie das Problem durch eine der folgenden Prozeduren beheben:

#Step 1:  Import the MongoDB public key
#In Ubuntu 18.*+, you may get invalid signatures. --recv value may need to be updated to EA312927. 
#See here for more details on the invalid signature issue: [https://stackoverflow.com/questions/34733340/mongodb-gpg-invalid-signatures][1]

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

#Step 2: Generate a file with the MongoDB repository url
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

#Step 3: Refresh the local database with the packages
sudo apt-get update

#Step 4: Install the last stable MongoDB version and all the necessary packages on our system
sudo apt-get install mongodb-org

         #Or
# The unofficial mongodb package provided by Ubuntu is not maintained by MongoDB and conflict with MongoDBs offically supported packages. Use the official MongoDB mongodb-org packages, which are kept up-to-date with the most recent major and minor MongoDB releases.
sudo apt-get install -y mongodb 

Hoffe das klappt auch bei dir. Sie können dieser MongoDB folgen

Update Die obige Anweisung installiert die Mongodb 2.6-Version. Wenn Sie die neueste Version für installieren möchten, Uubuntu 12.04ersetzen Sie sie einfach oben step 2und befolgen Sie stattdessen die folgenden Anweisungen:

#Step 2: Generate a file with the MongoDB repository url
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list

Wenn Sie verwenden, Ubuntu 14.04verwenden Sie unten den folgenden Schrittstep 2

#Step 2: Generate a file with the MongoDB repository url
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

1
Arbeitete für mich unter Ubuntu 14.10 (andere Antworten nicht), nachdem ich den Befehl in Schritt 2
behoben hatte

1
Hoppla, nein, tut mir leid, funktioniert immer noch nicht (dies installiert Mongo 2.6, nicht den letzten Stall 3.0). Siehe meine eigene Antwort.
julien_c

36
Es ist schade, dass dies funktioniert und der offizielle Site Guide nicht.
Dan Pantry

1
In den offiziellen Anweisungen von MongoDB wurde nicht erwähnt, dass die Repository-URL für 2.6 war. Ich musste Ihrem aktualisierten Schritt 2 mit der richtigen URL folgen, um sudo apt-get install mongodb-org verwenden zu können. Danach wurde das Problem behoben.
Daniel Eagle

2
Ich habe den Befehl für Ubuntu 14.04 ausprobiert und er funktioniert immer noch nicht!
Alexventuraio

59

Das wahre Problem kann sein, wenn Sie ein 32-Bit- System haben. MongoDB 3.X wurde nie für die Verwendung auf einem 32-Bit-System entwickelt, daher sind die Repostories für 32-Bit leer (daher wird es nicht gefunden). Die Installation des Standard-Ubuntu-Pakets 2.X ist möglicherweise die beste Wahl für:

sudo apt-get install -y mongodb 


Eine weitere Problemumgehung, wenn Sie dennoch die neueste Version von Mongo erhalten möchten:

Sie können zu https://www.mongodb.org/downloads gehen und in der Dropdown-Liste "Linux 32-Bit-Legacy" auswählen.

Aber es kommt mit schwerwiegenden Einschränkungen ...

Diese 32-Bit-Legacy-Distribution enthält keine SSL-Verschlüsselung und ist auf etwa 2 GB Daten beschränkt. Im Allgemeinen sollten Sie die 64-Bit-Builds verwenden. Sehen Sie hier für weitere Informationen.


45

Versuchen Sie es ohne '-org':

sudo apt-get install -y mongodb

Hat für mich gearbeitet!


7
Dies ist wahrscheinlich das Standardpaket von Ubuntu. Nicht nützlich, wenn Sie den neuesten Mongo wollen.
Batterie

1
Dies kann tatsächlich das Ubuntu-Standardpaket sein. Gut für einen schnellen Start, aber wenn Sie speziell das neueste Paket von mongo.org benötigen, sind zusätzliche Schritte erforderlich.
John D

2
Das wahre Problem kann sein, wenn Sie ein 32-Bit-System haben. MongoDB 3.X wurde nie für die Verwendung auf einem 32-Bit-System entwickelt, daher sind die Repostories für 32-Bit leer (daher wird es nicht gefunden).
John D

2
Das ist genau das Problem, und das ist die eigentliche Antwort :-) Es ist nur etwas, was Mongos Website nicht klar sagt. An einer Stelle heißt es, dass Sie MongoDB für die Produktion auf 64-Bit ausführen sollten, an einer anderen Stelle heißt es, dass sie Pakete für 32-Bit- und 64-Bit für Testumgebungen bereitstellen.
Batterie

Ich habe unten eine detailliertere Antwort hinzugefügt, die das Problem zusammenfasst (basierend auf allen hilfreichen Kommentaren, danke!) Und einige Problemumgehungen vorschlägt. Könnten Sie bitte diese Antwort anstelle dieser beantworten?
John D


6

Alle Schritte sind korrekt. Ändern Sie einfach Schritt 4 wie folgt

  • Schritt 4: Installieren Sie die letzte stabile MongoDB-Version und alle erforderlichen Pakete auf unserem System

Befehl: sudo apt-get install mongodb

Es hat bei mir funktioniert.


Hiermit wird Ubuntus inoffizielles Standard-Mongo-Paket installiert, das bereits in der Top-Antwort von Naim erwähnt wird. Sie müssen dazu nicht die vorherigen Schritte ausführen.
Shaahiin

4

Wenn Sie derzeit das MongoDB 3.3-Repository verwenden (wie derzeit offiziell von der MongoDB-Website vorgeschlagen) , sollten Sie berücksichtigen, dass der für Version 3.3 verwendete Paketname lautet:

mongodb-org-instabil

Dann lautet der richtige Installationsbefehl für diese Version:

sudo apt-get install -y mongodb-org-unstable

In Anbetracht dessen empfehle ich eher, die aktuellste stabile Version (v3.2) zu verwenden, bis die Version 3.3 stabil ist. Die Befehle zur Installation sind unten aufgeführt:

Laden Sie den Repository-Schlüssel v3.2 herunter:

wget -qO - https://www.mongodb.org/static/pgp/server-3.2.asc | sudo apt-key add -

Wenn Sie mit Ubuntu 12.04 oder Mint 13 arbeiten, fügen Sie das folgende Repository hinzu:

echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Wenn Sie mit Ubuntu 14.04 oder Mint 17 arbeiten, fügen Sie das folgende Repository hinzu:

echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Wenn Sie mit Ubuntu 16.04 oder Mint 18 arbeiten, fügen Sie das folgende Repository hinzu:

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Aktualisieren Sie die Paketliste und installieren Sie mongo:

sudo apt-get update
sudo apt-get install -y mongodb-org

3

Die derzeit akzeptierte Antwort funktioniert, installiert jedoch eine veraltete Version von Mongo.

In der Mongo-Dokumentation heißt es: MongoDB bietet nur Pakete für Ubuntu 12.04 LTS (Precise Pangolin) und 14.04 LTS (Trusty Tahr). Diese Pakete funktionieren jedoch möglicherweise mit anderen Ubuntu-Versionen.

Um den letzten stabilen Mongo ( 3.0) zu erhalten, verwenden Sie diesen (der andere Schritt ist der zweite):

    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
    apt-get update
    apt-get install mongodb-org

Hoffe das hilft.


Ich möchte hinzufügen, dass Sie als vorherigen Schritt Ihre GNU / Linux Distro Release überprüfen müssen, die die Repo-Listen-URL erstellt. Für mich, wie ich das benutze:

DISTRIB_CODENAME=rafaela
DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
NAME="Ubuntu"
VERSION="14.04.2 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.2 LTS"

Der ursprüngliche 2. Schritt:

"Create a list file for MongoDB": "echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list"

Funktionierte nicht wie beabsichtigt, da eine falsche Repo-URL generiert wurde. Grundsätzlich wird der Distributions-Codename "rafaela" in das nicht existierende URL-Repo eingefügt . Sie können die Repo-URL in Ihrem Paketmanager unter Softwarequellen, Zusätzliche Repositorys überprüfen.

Was ich getan habe, war die Website zu durchsuchen:

http://repo.mongodb.org/apt/ubuntu/dists/

Und ich fand heraus, dass für Ubuntu "vertrauenswürdig" und "präzise" die einzigen verfügbaren Webordner sind, nicht "rafaela".

Lösung : Öffnen Sie als Root die Datei 'mongodb-org-3.1.list' oder 'mongodb.list' und ersetzen Sie "rafaela" oder Ihre Release-Version durch die entsprechende Version (für mich war es: "trusty"), speichern Sie die Änderungen und Fahren Sie mit den nächsten Schritten fort. Mit Ihrem Paketmanager können Sie auch die Repo-URL problemlos ändern.

Hoffe es funktioniert für dich.! --- ---.



1

Sie müssen zuerst die Paketdatenbank und den PGP-Schlüssel hinzufügen.

Führen Sie Folgendes aus.

#add pgp key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

#add package file
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

#update package list
sudo apt-get update

#install mongo
sudo apt-get install -y mongodb-org

2
Ich habe es bereits perfekt bis zum dritten Schritt funktioniert, aber dann habe ich den obigen Fehler erhalten.
anonn023432

Dies würde passieren, wenn apt-get update nicht ausgeführt wurde und / oder die Quellenliste leer ist. Kannst du rennen cat /etc/apt/sources.list.d/mongodb-org-3.0.list?
Jeff Sloyer

2
Habe es getan, das habe ich bekommendeb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.0 multiverse
anonn023432

1

Ich hatte das gleiche Problem in 14.04, aber ich habe es durch die folgenden Schritte behoben:

  1. sudo apt-key adv --keyserver hkp: //keyserver.ubuntu.com: 80 --recv 7F0CEB10
  2. echo "deb http://repo.mongodb.org/apt/ubuntu " $ (lsb_release -sc) "/ mongodb- org / 3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
  3. sudo apt-get update
  4. sudo apt-get install -y mongodb

Es hat wie Charme funktioniert :)


Dies wird das Standard-Ubuntu 2.X-Paket installieren, nicht das neueste 3.X von mongo.org (siehe Kommentare zu anderen Antworten oben und unten)
John D

Ich möchte, dass Sie einen Blick auf die offizielle Website docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu auf der offiziellen Website werfen. In dieser Zeile ist ein Fehler aufgetreten. 4. sudo apt-get install -y mongodb
YLS

1

Dies funktionierte unter Ubuntu 17.04

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

sudo apt-get update

sudo apt-get install -y mongodb-org

Wenn Sie einen Fehler sehen wie:

dpkg: error processing archive /var/cache/apt/archives/mongodb-org-tools_3.6.2_amd64.deb (--unpack):
trying to overwrite '/usr/bin/bsondump', which is also in package mongo-tools 3.2.11-1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

Führen Sie dann diesen Befehl aus:

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" |

sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

und

sudo apt update
sudo apt install mongodb-org

Verweise:


0

Ich hatte die gleichen Probleme unter Ubuntu 16.04, als ich die im offiziellen Dokument angegebenen Schritte befolgte .
Dann entferne ich den Text "[arch = amd64, arm64]" in Schritt 2 und es funktioniert für mich.

echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list   
apt-get install -y mongodb-org  

0

Für diejenigen, die verwenden, Ubuntu 18.04kann dieser Befehl ausgeführt werden:

Erstellen Sie die /etc/apt/sources.list.d/mongodb-org-4.2.listDatei für Ubuntu 18.04 (Bionic) :

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.