E: 无法找到包 mongodb-org

E: Unable to locate package mongodb-org

我正在尝试下载 mongodb,我正在按照 link 上的步骤进行操作。

但是当我走到这一步时:

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

为什么会发生这种情况,有解决办法吗?

您首先需要添加包数据库并添加 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

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

首先尝试使用这个命令: 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: [

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 MongoDB’s 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

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

Mongo 文档指出:MongoDB 仅提供 Ubuntu 12.04 LTS(Precise Pangolin)和 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 发行版,这将构建 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"

原第2步:

"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 不存在的 repo 中。您可以在软件包管理器的软件源、附加存储库下查看存储库 url。

我所做的是浏览网站:

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

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

解决方法:以root身份打开文件'mongodb-org-3.1.list'或'mongodb.list',将"rafaela"或你的release版本替换为相应的版本(对于我是:"trusty"),保存更改并继续下一步。此外,您的包管理器还可以让您轻松更改存储库 url。

希望对你有用! ---

我 运行 Ubuntu 14.04;并且 apt 仍然找不到包裹;我尝试了以上所有答案。 对我有用的 URL 是这样的:

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

来源:http://www.liquidweb.com/kb/how-to-install-mongodb-on-ubuntu-14-04/

尝试不使用“-org”:

sudo apt-get install -y mongodb

对我有用!

我在 14.04 中遇到了同样的问题,但我通过以下步骤修复了它:

  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 多元宇宙" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
  3. sudo apt-get 更新
  4. sudo apt-get install -y mongodb

它很有魅力:)

这里真正的问题可能是如果您有 32 位 系统。 MongoDB 3.X 从未在 32 位系统上使用,因此 32 位的存储库是空的(因此找不到它)。安装默认 2.X Ubuntu 包可能是您最好的选择:

sudo apt-get install -y mongodb 


另一种解决方法,如果您仍然想获得最新版本的 Mongo:

你可以去 https://www.mongodb.org/downloads 并使用下拉菜单 select "Linux 32-bit legacy"

但它伴随着严重的limitations...

This 32-bit legacy distribution does not include SSL encryption and is limited to around 2GB of data. In general you should use the 64 bit builds. See here for more information.

所有步骤都是正确的,只需将第 4 步更改如下

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

命令:sudo apt-get install mongodb

它对我有用。

sudo apt-get install -y mongodb 

它适用于 32 位 ubuntu,试试 it.best 运气。

如果您当前正在使用 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

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

参考文献:

我在 Ubuntu 16.04 上遇到了同样的问题,当时我按照 official document 上发布的步骤操作。
然后我 删除步骤 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