在 Raspberry pi 3 (Debian 9 (stretch)) 上安装 MongoDB 3.2 或更高版本

Install MongoDB 3.2 or higher on Raspberry pi 3 (Debian 9 (stretch))

我正在尝试在我的 Raspberry Pi 3 上安装 MongoDB 的更新版本。

我通过以下方式安装了 mongodb:

sudo apt-get install mongodb

mongodb 版本是 2.4.14.

我正在使用的 mongodb 查询需要 MongoDB 版本 3.2 或更高版本。

为了获得更新的版本,我删除了旧的 mongodb 并完成了以下操作:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get update

当我 运行 apt-get update 我得到以下错误:

N: Skipping acquire of configured file 'main/binary-armhf/Packages' as repository 'http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 InRelease' doesn't support architecture 'armhf'

我的 OS 我的 raspberry pi 信息:

Linux myRaspberryPi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linux

PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian

我运行宁raspbian(这是一个32位系统)和raspberry pi的CPU有64位。

我有点迷茫并尝试遵循很多指南,但结果都是一样的 - 我似乎无法在我的 raspberry pi 上获得新版本的 MongoDB。 有谁知道这是否可能?

如果这有帮助,我创建了一个 Docker 图像 MongoDB 3.0.14 Raspbian 拉伸并在 Raspberry Pi 上测试 3. 阅读安装详细信息这里 https://github.com/andresvidal/rpi3-mongodb3 and https://hub.docker.com/r/andresvidal/rpi3-mongodb3/

如您的错误所述。您需要为 arm 处理器编译的版本。

doesn't support architecture 'armhf'

以下链接中提供的版本未针对您的 raspberry pi 架构编译。

DEBIAN: http://repo.mongodb.org/apt/debian/ UBUNTU: http://repo.mongodb.org/apt/ubuntu

并且仅适用于以下类型的处理器

binary-amd64 binary-i386 binary-ppc64el

一个解决方法是在您的 raspberry pi 上自己编译 mongodb。

Compile and install MongoDB on Raspberry PI

Ubuntu 18.04.2 现在可以在 arm64 映像中使用,它在 raspberry pi 3 B+ 硬件上运行良好。 OS 是 64 位 Ubuntu,它在 raspberry pi 上安装最新的 64 位 MongoDB。有关说明,请参见此处:https://wiki.ubuntu.com/ARM/RaspberryPi

另见此处:https://andyfelong.com/2019/03/mongodb-4-0-6-64-bit-on-raspberry-pi-3/

如果您需要 armhf 软件的兼容性,您可以使用这些命令手动安装 armhf 库。这将允许您在 Ubuntu arm64 OS.

上安装专为 armhf 设计的软件
# install armhf libraries on arm64
sudo dpkg --add-architecture armhf
sudo apt-get update
sudo apt-get install libc6:armhf -y
sudo ln -s /lib/ld-linux-armhf.so.3 /lib/ld-linux.so.3
sudo apt-get install libstdc++6:armhf

armhf library install commands from here