E: Não é possível localizar o pacote mongodb-org


102

Estou tentando fazer download do mongodb e estou seguindo as etapas neste link .

Mas quando chego ao passo:

sudo apt-get install -y mongodb-org

Estou tendo o erro a seguir:

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

Por que isso está ocorrendo e há uma solução alternativa?

Respostas:


204

Eu enfrentei o mesmo problema, mas corrigi-lo alterando o comando de seção do arquivo de pacote. Todo o passo que segui foi:

Na primeira tentativa com este comando: sudo apt-get install -y mongodb

Este é o pacote mongodb não oficial fornecido pelo Ubuntu e não é mantido pelo MongoDB e entra em conflito com os pacotes oficialmente suportados pelo MongoDB.

Se o comando acima não funcionar, você pode corrigir o problema por um dos procedimentos abaixo:

#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 

Espero que isso funcione para você também. Você pode seguir este MongoDB

Atualizar A instrução acima instalará a versão 2.6 do mongodb, se você deseja instalar a versão mais recente Uubuntu 12.04, basta substituir acima step 2e seguir as instruções abaixo em vez disso:

#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 você estiver usando Ubuntu 14.04, use o passo abaixo em vez do acimastep 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
Funcionou para mim no Ubuntu 14.10 (outras respostas não funcionaram) depois de corrigir o comando na etapa 2.
julien_c

1
Opa, não, desculpe, ainda não está funcionando (isso instala o Mongo 2.6, não é o último estável 3.0). Veja minha própria resposta.
julien_c

36
É uma pena que isso funcione e o guia do site oficial não.
Dan Pantry

1
As instruções oficiais do MongoDB não mencionaram que a URL do repositório era para 2.6. Tive que seguir sua etapa 2 atualizada com a URL correta para usar sudo apt-get install mongodb-org. Depois disso, o problema foi resolvido.
Daniel Eagle

2
Tentei o comando para Ubuntu 14.04 e ainda não está funcionando!
alexventuraio

59

O verdadeiro problema aqui pode ser se você tiver um sistema de 32 bits . O MongoDB 3.X nunca foi feito para ser usado em um sistema de 32 bits, portanto, os repositórios de 32 bits estão vazios (por isso não foi encontrado). Instalar o pacote Ubuntu 2.X padrão pode ser sua melhor aposta com:

sudo apt-get install -y mongodb 


Outra solução alternativa, se mesmo assim desejar obter a versão mais recente do Mongo:

Você pode ir para https://www.mongodb.org/downloads e usar o menu suspenso para selecionar "Linux de 32 bits legado"

Mas vem com limitações severas ...

Esta distribuição legada de 32 bits não inclui criptografia SSL e é limitada a cerca de 2 GB de dados. Em geral, você deve usar compilações de 64 bits. Veja aqui para mais informações.


45

Experimente sem '-org':

sudo apt-get install -y mongodb

Funcionou para mim!


7
Este é provavelmente o pacote padrão do Ubuntu. Não é útil se você quiser o mongo mais recente.
bateria de

1
Este pode realmente ser o pacote padrão do Ubuntu. Bom para um início rápido, mas se você precisa especificamente do pacote mais recente de mongo.org, etapas extras são necessárias.
John D

2
O verdadeiro problema aqui pode ser se você tiver um sistema de 32 bits. O MongoDB 3.X nunca foi feito para ser usado em um sistema de 32 bits, portanto, os repositórios de 32 bits estão vazios (por isso não foi encontrado).
John D

2
Esse é exatamente o problema, e esta é a verdadeira resposta :-) É apenas algo que o site do Mongo não diz claramente. Em um lugar, eles dizem que você deve executar o MongoDB em 64 bits para produção, em outro, diz que eles fornecem pacotes para ambientes de teste de 32 e 64 bits.
bateria de

Eu adicionei uma resposta mais detalhada abaixo que resume o problema (com base em todos os comentários úteis, obrigado!) E propõe algumas soluções alternativas. Você poderia votar positivamente nessa resposta em vez desta?
John D


6

Todas as etapas estão corretas, basta alterar a Etapa 4 conforme abaixo

  • Etapa 4: Instale a última versão estável do MongoDB e todos os pacotes necessários em nosso sistema

Comando: sudo apt-get install mongodb

Ele tem trabalhado para mim.


Este é o pacote mongo não oficial padrão do Ubuntu, que já é mencionado na resposta principal de Naim. Você não precisa seguir as etapas anteriores para isso.
shaahiin de

4

Se você estiver usando o repositório MongoDB 3.3 (conforme sugerido oficialmente pelo site do MongoDB) , leve em consideração que o nome do pacote usado para a versão 3.3 é:

mongodb-org-unstable

Então, o comando de instalação adequado para esta versão será:

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

Considerando isso, vou sugerir usar a versão estável mais recente atual (v3.2) até que a v3.3 se torne estável. Os comandos para instalá-la estão listados abaixo:

Faça download da chave do repositório v3.2:

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

Se você trabalha com Ubuntu 12.04 ou Mint 13, adicione o seguinte repositório:

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 você trabalha com Ubuntu 14.04 ou Mint 17, adicione o seguinte repositório:

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 você trabalha com Ubuntu 16.04 ou Mint 18, adicione o seguinte repositório:

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

Atualize a lista de pacotes e instale o mongo:

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

3

A resposta aceita atualmente funciona, mas irá instalar uma versão desatualizada do Mongo.

A documentação do Mongo afirma que: MongoDB fornece apenas pacotes para Ubuntu 12.04 LTS (Precise Pangolin) e 14.04 LTS (Trusty Tahr). No entanto, esses pacotes podem funcionar com outras versões do Ubuntu.

Portanto, para obter o Mongo ( 3.0) estável mais recente , use este (a etapa diferente é a segunda):

    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

Espero que isto ajude.


Eu gostaria de adicionar que como uma etapa anterior, você deve verificar seu GNU / Linux Distro Release, que irá construir o url da lista de repositórios. Para mim, como estou usando:

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"

A 2ª etapa original:

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

Não funcionou conforme o esperado porque gerou um URL de repositório incorreto. Basicamente, ele colocou o codinome de distribuição "rafaela" dentro do repositório de url que não existe. Você pode verificar o Repo url em seu gerenciador de pacotes em Fontes de software, Repositórios adicionais.

O que fiz foi navegar no site:

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

E descobri que para o Ubuntu, "confiável" e "preciso" são as únicas pastas da web disponíveis, não "rafaela".

Solução : Abra como root o arquivo 'mongodb-org-3.1.list' ou 'mongodb.list' e substitua "rafaela" ou sua versão de lançamento pela versão correspondente (para mim era: "trusty"), salve as alterações e continue com as próximas etapas. Além disso, seu gerenciador de pacotes pode permitir que você altere facilmente o URL do repositório.

Espero que funcione para você.! ---



1

Você primeiro precisa adicionar o banco de dados do pacote e adicionar a chave PGP.

Execute o seguinte.

#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
Eu já fiz, funcionou perfeitamente até a terceira etapa, mas depois recebi o erro acima.
anonn023432

Isso aconteceria se apt-get update não fosse executado e / ou a lista de fontes estivesse vazia. Você pode correr cat /etc/apt/sources.list.d/mongodb-org-3.0.list?
Jeff Sloyer,

2
Consegui, foi isso que eu conseguideb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.0 multiverse
anonn023432

1

Tive o mesmo problema no 14.04, mas resolvi seguindo estas etapas:

  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

Funcionou como um charme :)


Isso instalará o pacote padrão do Ubuntu 2.X, não o mais recente 3.X de mongo.org (veja os comentários nas outras respostas acima e abaixo)
John D

eu gostaria que você desse uma olhada no site oficial docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu no site oficial há um erro nesta linha 4. sudo apt-get install -y mongodb
YLS

1

Isso funcionou no 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 você vir uma falha como:

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)

Em seguida, execute este 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

Referências:


0

Tive os mesmos problemas no Ubuntu 16.04 quando segui os passos postados no documento oficial .
Em seguida, removo o texto "[arch = amd64, arm64]" na etapa 2 e funciona para mim.

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

Para quem usa Ubuntu 18.04pode executar este comando:

Crie o /etc/apt/sources.list.d/mongodb-org-4.2.listarquivo para 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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.