E:无法找到软件包mongodb-org


102

我正在尝试下载mongodb,并且正在按照此链接上的步骤进行操作。

但是当我走到这一步时:

sudo apt-get install -y mongodb-org

我收到以下错误:

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

为什么会发生这种情况,并且有解决方法?

Answers:


204

我遇到了同样的问题,但是通过更改包文件部分命令来解决它。我遵循的整个步骤是:

首先,尝试使用以下命令:sudo apt-get install -y mongodb

这是Ubuntu提供的非官方的mongodb软件包,它不是由MongoDB维护的,并且与MongoDB的官方支持的软件包冲突。

如果上述命令不起作用,则可以通过以下方法之一解决问题:

#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 

希望这也对您有用。您可以关注此MongoDB

更新 上面的说明将安装mongodb 2.6版本,如果要安装最新版本,Uubuntu 12.04则只需替换上面的内容,step 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.list

如果您正在使用,Ubuntu 14.04则使用波纹管步骤,而不是上面的步骤step 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
为我工作在Ubuntu 14.10(其他答案没有)我在第2步固定命令后
julien_c

1
糟糕,不,对不起,仍然无法正常工作(这将安装Mongo 2.6,而不是最新的稳定版3.0)。看到我自己的答案。
julien_c 2015年

36
糟糕的是,这种方法有效,而官方网站指南却没有。
丹·潘特里

1
MongoDB的官方说明没有提到存储库URL是2.6的。为了使用sudo apt-get install mongodb-org,我必须按照正确的URL执行更新的步骤2。之后,它解决了问题。
丹尼尔·伊格尔

2
我尝试了Ubuntu 14.04的命令,但仍然无法正常工作!
alexventuraio

59

真正的问题可能是如果您使用32位系统。MongoDB 3.X从未在32位系统上使用过,因此32位的记录库为空(因此找不到该记录)。安装默认的2.X Ubuntu软件包可能是您最好的选择:

sudo apt-get install -y mongodb 


如果您仍然想要获得最新版本的Mongo,则可以采用另一种解决方法:

您可以转到 https://www.mongodb.org/downloads 并使用下拉菜单选择“ Linux 32-bit legacy”

但是它有严格的限制 ...

此32位旧版发行版不包含SSL加密,并且仅限于大约2GB的数据。通常,您应该使用64位版本。有关更多信息,请参见此处


45

尝试不使用“ -org”:

须藤apt-get install -y mongodb

为我工作!


7
这可能是Ubuntu的默认软件包。如果您想要最新的mongo,则无用。
电池

1
这确实可能是Ubuntu的默认软件包。可以快速入门,但是如果您特别需要mongo.org的最新软件包,则需要额外的步骤。
约翰D

2
真正的问题可能是如果您使用32位系统。MongoDB 3.X从未在32位系统上使用过,因此32位的记录库为空(因此找不到该记录)。
约翰D

2
那正是问题所在,这才是真正的答案:-)这只是Mongo网站未明确说明的内容。在一个地方,他们说您应该在64位上运行MongoDB以进行生产,在另一个地方,他们说他们为测试环境提供32位和64位的软件包。
电池

我在下面添加了更详细的答案,总结了问题(基于所有有用的评论,谢谢!)并提出一些解决方法。您能否赞成这个答案而不是这个答案?
约翰D


6

所有步骤均正确,只需更改以下步骤4

  • 步骤4:在我们的系统上安装最新的稳定MongoDB版本和所有必需的软件包

命令: sudo apt-get install mongodb

它为我工作。


这将安装Ubuntu的默认非官方mongo软件包,Naim的最佳答案已经提到了该软件包。您无需执行前面的步骤。
沙因

4

如果您当前正在使用MongoDB 3.3存储库 (如MongoDB网站目前所建议的那样),则应考虑到3.3版所使用的软件包名称为:

mongodb-org-unstable

然后,此版本的正确安装命令将是:

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

考虑到这一点,我宁愿建议使用当前最新的稳定版本(v3.2),直到v3.3变得稳定为止,下面列出了安装它的命令:

下载v3.2存储库密钥:

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

如果您与 Ubuntu 12.04Mint 13,请添加以下存储库:

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

如果您使用Ubuntu 14.04Mint 17,请添加以下存储库:

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

如果您使用Ubuntu 16.04Mint 18,请添加以下存储库:

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

更新软件包列表并安装mongo:

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

3

当前接受的答案有效,但是将安装过时的Mongo版本。

Mongo文档指出:MongoDB仅提供适用于Ubuntu 12.04 LTS(精确的穿山甲)和14.04 LTS(Trusty Tahr)的软件包。但是,这些软件包可能与其他Ubuntu版本一起使用。

因此,要获得最新的稳定Mongo(3.0),请使用此命令(不同的步骤是第二个步骤):

    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

希望这可以帮助。


我想补充一点,作为上一步,您必须检查您的GNU / Linux Distro版本,该版本将构建Repo列表URL。对我来说,正如我正在使用的那样:

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"

原始第二步:

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

未能按预期工作,因为它生成了错误的Repo url。基本上,它把发行代号为“ rafaela”放在不存在的URL存储库中。您可以在软件包管理器中的“软件源”,“其他存储库”下检查“存储库” URL。

我所做的是浏览该网站:

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

我发现对于Ubuntu,“ trusty”和“ precise”是唯一可用的Web文件夹,而不是“ rafaela”。

:以root身份打开文件“ mongodb-org-3.1.list”或“ mongodb.list”,然后将“ rafaela”或您的发行版本替换为相应的版本(对我来说是:“ trusty”),保存更改并继续下一步。另外,您的软件包管理器还可以让您轻松更改存储库URL。

希望对你有帮助。!---



1

首先,您需要添加软件包数据库并添加PGP密钥。

运行以下命令。

#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
我已经拥有了,它可以完美地运行到第三步,但随后出现了以上错误。
anonn023432 2015年

如果未运行apt-get更新和/或源列表为空,则会发生这种情况。你会跑步cat /etc/apt/sources.list.d/mongodb-org-3.0.list吗?
Jeff Sloyer 2015年

2
做到了,这就是我得到的deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.0 multiverse
anonn023432 2015年

1

我在14.04中遇到了同样的问题,但是我通过以下步骤解决了这个问题:

  1. 须藤apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
  2. 回声“ 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更新
  4. 须藤apt-get install -y mongodb

它像魅力一样工作:)


这将安装默认的Ubuntu 2.X软件包,而不是mongo.org上的最新3.X软件包(请参阅上面和下面有关其他答案的评论)
John D

我希望您看看官方网站 docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu 在官方网站上有此行4中的错误。sudo apt-get install -y mongodb
YLS 2015年

1

这适用于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

如果您看到类似以下的故障:

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)

然后运行以下命令:

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

sudo apt update
sudo apt install mongodb-org

参考文献:


0

当我遵循正式文档中发布的步骤时,在Ubuntu 16.04上遇到了相同的问题。
然后在步骤2中删除文本“ [arch = amd64,arm64]”,它对我有用

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

对于那些使用 Ubuntu 18.04可以此命令的人:

/etc/apt/sources.list.d/mongodb-org-4.2.listUbuntu 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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.