E: Impossibile individuare il pacchetto mongodb-org


102

Sto cercando di scaricare mongodb e sto seguendo i passaggi su questo collegamento .

Ma quando arrivo al passaggio:

sudo apt-get install -y mongodb-org

Ottengo il seguente errore:

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

Perché questo accade e c'è una soluzione?

Risposte:


204

Ho riscontrato lo stesso problema, ma risolvilo modificando il comando della sezione del file del pacchetto. L'intero passaggio che ho seguito è stato:

All'inizio prova con questo comando: sudo apt-get install -y mongodb

Questo è il pacchetto mongodb non ufficiale fornito da Ubuntu e non è mantenuto da MongoDB ed è in conflitto con i pacchetti supportati ufficialmente da MongoDB.

Se il comando precedente non funziona, puoi risolvere il problema con una delle seguenti procedure:

#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 

Spero che questo funzioni anche per te. Puoi seguire questo MongoDB

Aggiorna L'istruzione di cui sopra installerà la versione mongodb 2.6, se si desidera installare la versione più recente, Uubuntu 12.04basta sostituire sopra step 2e seguire le istruzioni seguenti invece di quella:

#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

Se stai usando, Ubuntu 14.04usa il passaggio qui sotto invece di quello soprastep 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
Ha funzionato per me su Ubuntu 14.10 (altre risposte no) dopo aver corretto il comando nel passaggio 2.
julien_c

1
Ops, no, mi dispiace, ancora non funziona (questo installa Mongo 2.6, non l'ultima stabile 3.0). Vedi la mia risposta.
julien_c

36
Fa schifo che funzioni e la guida del sito ufficiale no.
Dan Pantry

1
Le istruzioni ufficiali di MongoDB non menzionavano che l'URL del repository era per 2.6. Ho dovuto seguire il passaggio 2 aggiornato con l'URL corretto per utilizzare sudo apt-get install mongodb-org. Dopo di che ha risolto il problema.
Daniel Eagle

2
Ho provato il comando per Ubuntu 14.04 e ancora non funziona!
alexventuraio

59

Il vero problema qui potrebbe essere se hai un sistema a 32 bit . MongoDB 3.X non è mai stato creato per essere utilizzato su un sistema a 32 bit, quindi le ripostorie per 32 bit sono vuote (ecco perché non viene trovato). L'installazione del pacchetto Ubuntu 2.X predefinito potrebbe essere la soluzione migliore con:

sudo apt-get install -y mongodb 


Un'altra soluzione alternativa, se desideri comunque ottenere l'ultima versione di Mongo:

Puoi andare su https://www.mongodb.org/downloads e utilizzare il menu a discesa per selezionare "Linux 32-bit legacy"

Ma viene fornito con gravi limitazioni ...

Questa distribuzione legacy a 32 bit non include la crittografia SSL ed è limitata a circa 2 GB di dati. In generale dovresti usare le build a 64 bit. Vedi qui per maggiori informazioni.


45

Prova senza "-org":

sudo apt-get install -y mongodb

Ha funzionato per me!


7
Questo è probabilmente il pacchetto predefinito di Ubuntu. Non utile se vuoi l'ultimo mongo.
batteria

1
Questo potrebbe effettivamente essere il pacchetto predefinito di Ubuntu. Buono per un rapido avvio, ma se hai specificamente bisogno dell'ultimo pacchetto da mongo.org, sono necessari passaggi aggiuntivi.
John D

2
Il vero problema qui potrebbe essere se hai un sistema a 32 bit. MongoDB 3.X non è mai stato creato per essere utilizzato su un sistema a 32 bit, quindi le ripostorie per 32 bit sono vuote (ecco perché non viene trovato).
John D

2
Questo è esattamente il problema, e questa è la vera risposta :-) È solo qualcosa che il sito web di Mongo non dice chiaramente. In un punto dicono che dovresti eseguire MongoDB su 64 bit per la produzione, in un altro dice che forniscono pacchetti sia per 32 bit che per 64 bit per ambienti di test.
batteria

Di seguito ho aggiunto una risposta più dettagliata che riassume il problema (in base a tutti i commenti utili, grazie!) E propone alcune soluzioni alternative. Potresti dare un voto positivo a quella risposta invece di questa?
John D


6

Tutti i passaggi sono corretti, basta cambiare il passaggio 4 come di seguito

  • Passaggio 4: installa l'ultima versione stabile di MongoDB e tutti i pacchetti necessari sul nostro sistema

Comando: sudo apt-get install mongodb

Ha funzionato per me.


Questo installa il pacchetto mongo non ufficiale predefinito di Ubuntu che è già menzionato nella risposta principale di Naim. Non è necessario seguire i passaggi precedenti per questo.
shaahiin

4

Se stai attualmente utilizzando il repository MongoDB 3.3 (come ufficialmente suggerito dal sito web MongoDB) dovresti tenere in considerazione che il nome del pacchetto utilizzato per la versione 3.3 è:

MongoDB-org-instabile

Quindi il comando di installazione corretto per questa versione sarà:

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

Considerando questo, suggerirò piuttosto di utilizzare l'ultima versione stabile corrente (v3.2) fino a quando la v3.3 non diventa stabile, i comandi per installarla sono elencati di seguito:

Scarica la chiave del repository v3.2:

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

Se lavori con Ubuntu 12.04 o Mint 13, aggiungi il seguente repository:

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

Se lavori con Ubuntu 14.04 o Mint 17 aggiungi il seguente repository:

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

Se lavori con Ubuntu 16.04 o Mint 18, aggiungi il seguente repository:

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

Aggiorna l'elenco dei pacchetti e installa mongo:

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

3

La risposta attualmente accettata funziona, ma installerà una versione obsoleta di Mongo.

La documentazione di Mongo afferma che: MongoDB fornisce solo pacchetti per Ubuntu 12.04 LTS (Precise Pangolin) e 14.04 LTS (Trusty Tahr). Tuttavia, questi pacchetti potrebbero funzionare con altre versioni di Ubuntu.

Quindi, per ottenere l'ultimo Mongo ( 3.0) stabile , usa questo (il passaggio diverso è il secondo):

    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

Spero che questo ti aiuti.


Vorrei aggiungere che come passaggio precedente, è necessario controllare la versione GNU / Linux Distro, che costruirà l'URL dell'elenco dei repository. Per me, poiché sto usando questo:

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"

Il secondo passaggio originale:

"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"

Non ha funzionato come previsto perché ha generato un URL repository errato. Fondamentalmente, mette il nome in codice della distribuzione "rafaela" all'interno del repository URL che non esiste. Puoi controllare l'URL del repository nel gestore dei pacchetti in Sorgenti software, repository aggiuntivi.

Quello che ho fatto è stato navigare nel sito:

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

E ho scoperto che per Ubuntu "fidato" e "preciso" sono le uniche cartelle web disponibili, non "rafaela".

Soluzione : apri come root il file 'mongodb-org-3.1.list' o 'mongodb.list' e sostituisci "rafaela" o la tua versione di rilascio per la versione corrispondente (per me era: "fidato"), salva le modifiche e continuare con i passaggi successivi. Inoltre, il tuo gestore di pacchetti ti consente di modificare facilmente anche l'URL del repository.

Spero che funzioni per te.! ---



1

Devi prima aggiungere il database del pacchetto e aggiungere la chiave PGP.

Eseguire quanto segue.

#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
L'ho già fatto, ha funzionato perfettamente fino al terzo passaggio, ma poi ho ricevuto l'errore sopra.
anonn023432

Ciò accadrebbe se apt-get update non fosse eseguito e / o l'elenco delle fonti fosse vuoto. Puoi correre cat /etc/apt/sources.list.d/mongodb-org-3.0.list?
Jeff Sloyer

2
Fatto, questo è quello che ho ottenutodeb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.0 multiverse
anonn023432

1

Ho avuto lo stesso problema nella 14.04, ma l'ho risolto con questi passaggi:

  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

Ha funzionato come un fascino :)


Questo installerà il pacchetto predefinito Ubuntu 2.X, non l'ultimo 3.X da mongo.org (vedi commenti su altre risposte sopra e sotto)
John D

vorrei che dessi un'occhiata al sito ufficiale docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu nel sito ufficiale c'è un errore in questa riga 4. sudo apt-get install -y mongodb
YLS

1

Questo ha funzionato su 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

Se vedi un errore come:

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)

Quindi esegui questo comando:

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

e

sudo apt update
sudo apt install mongodb-org

Riferimenti:


0

Ho avuto gli stessi problemi su Ubuntu 16.04 quando ho seguito i passaggi pubblicati nel documento ufficiale .
Quindi rimuovo il testo "[arch = amd64, arm64]" nel passaggio 2 e per me funziona.

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

Per chi usa Ubuntu 18.04può eseguire questo comando:

Crea il /etc/apt/sources.list.d/mongodb-org-4.2.listfile per 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.