对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

验证 MongoDB 包的完整性

重要

MongoDB 8.3 是最新的次要发布。从MongoDB 8.2 开始,针对特定使用案例的本地部署部署(社区和 EA)可使用次要版本。 有关更多信息,请参阅MongoDB版本控制。

要安装支持本地部署使用的最新MongoDB版本,请参阅安装说明。

MongoDB 发布团队对所有软件包进行数字签名,证明特定的 MongoDB 包是有效且未经更改的 MongoDB 版本。在安装 MongoDB 之前,应使用所提供的 PGP 签名或 Sha-256 校验和来验证包。

PGP 签名通过检查文件的真实性和完整性来防止篡改,从而提供最强有力的保证。

加密校验和仅验证文件完整性,以防止网络传输错误。

MongoDB 使用不同的 PGP 密钥对每个发布分支进行签名。每个版本分支的公钥文件均可从密钥服务器下载,有文本 .asc 和二进制 .pub 两种格式。

1

根据您所使用的环境,从 MongoDB 下载中心下载二进制文件。您可以在此页面选择不同的平台和版本。单击 Copy link,并使用以下说明中的 URL。

例如,要通过 shell 下载 macOS 的 8.3.7 版本,请运行以下命令:

curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-8.3.7.tgz

要通过 Shell 下载适用于 Linux 的 8.3.7 版本,请运行以下命令:

curl -LO https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-8.3.7.tgz
2

对于 MacOS,运行以下命令:

curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-8.3.7.tgz.sig

对于 Linux,运行以下命令:

curl -LO https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-8.3.7.tgz.sig
3

MongoDB 8.3包下载使用MongoDB 8.0 公钥进行验证。如果尚未下载并导入MongoDB 8.0 公钥,运行以下命令:

curl -LO https://pgp.mongodb.com/server-8.0.asc
gpg --import server-8.0.asc

PGP 应返回以下响应:

gpg: key 4B7C549A058F8B6B: "MongoDB 8.0 Release Signing Key <packaging@mongodb.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
4

对于 MacOS,运行以下命令:

gpg --verify mongodb-macos-x86_64-8.3.7.tgz.sig mongodb-macos-x86_64-8.3.7.tgz

对于 Linux,请使用适用于平台的正确文件名,运行以下命令:

gpg --verify mongodb-linux-x86_64-ubuntu2204-8.3.7.tgz.sig mongodb-linux-x86_64-ubuntu2204-8.3.7.tgz

GPG 应返回以下响应:

gpg: Signature made Wed Jun 5 03:17:20 2019 EDT
gpg: using RSA key 4B7C549A058F8B6B
gpg: Good signature from "MongoDB 8.0 Release Signing Key <packaging@mongodb.com>" [unknown]

如果包已正确签名,但目前不信任本地 trustdb 中的签名密钥,则 gpg 还将返回以下消息:

gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B

如果收到以下错误消息,请确认已导入正确的公钥:

gpg: Can't check signature: public key not found
1

根据您所使用的环境,从 MongoDB 下载中心下载二进制文件。您可以在此页面选择不同的平台和版本。Click Copy 链接,并使用以下说明中的 URL。

例如,要通过 shell 下载 macOS 的 8.3.7 版本,请键入以下命令:

curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-8.3.7.tgz

要通过 Shell 下载适用于 Linux 的 8.3.7 版本,请运行以下命令:

curl -LO https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-8.3.7.tgz
2

要通过 shell 下载适用于 MacOS 的 SHA256 文件,请使用所需的 URL 和 .sha256 运行以下命令:

curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-8.3.7.tgz.sha256

要通过 shell 下载适用于 Linux 的 SHA256 文件,请使用所需的 URL 和 .sha256 运行以下命令:

curl -LO https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-8.3.7.tgz.sha256
3

计算下载的包文件的校验和:

shasum -c mongodb-macos-x86_64-8.3.7.tgz.sha256

如果校验和与下载的软件包相匹配,则应返回以下内容:

mongodb-macos-x86_64-8.3.7.tgz: OK

以下程序将根据 MongoDB 的 SHA256 密钥验证 MongoDB 二进制文件。

1

下载 MongoDB .msi 安装程序。例如,要下载 MongoDB Community Edition 的最新版本,请参见MongoDB Community Download Center。

  1. Version 下拉菜单中,选择 8.3.7 (current release)

  2. Platform 下拉菜单中,选择 Windows

  3. Package 下拉菜单中,选择 msi

  4. 单击 Download 并将文件保存到“下载”文件夹。

2

获取 MongoDB 版本的公共签名文件。

例如,对于最新版本的 MongoDB Community Edition 的 SHA256 签名:

  1. 将内容保存到下载文件夹中的文件 mongodb-windows-x86_64-8.3.7-signed.msi.sha256 中。

3

要将签名文件与 MongoDB 二进制文件的哈希进行比较,请调用以下 PowerShell 脚本:

$sigHash = (Get-Content $Env:HomePath\Downloads\mongodb-windows-x86_64-8.3.7-signed.msi.sha256 | Out-String).SubString(0,64).ToUpper(); `
$fileHash = (Get-FileHash $Env:HomePath\Downloads\mongodb-windows-x86_64-8.3.7-signed.msi).Hash.Trim(); `
echo $sigHash; echo $fileHash; `
$sigHash -eq $fileHash
C777DF7816BB8C9A760FDEA782113949408B6F39D72BE29A2551FA51E2FE0473
C777DF7816BB8C9A760FDEA782113949408B6F39D72BE29A2551FA51E2FE0473
True

该命令输出以下三行:

  • 直接从 MongoDB 下载的 SHA256 哈希。

  • 从 MongoDB 下载的 MongoDB 二进制文件计算的 SHA256 哈希。

  • 结果为 TrueFalse,具体取决于哈希是否匹配。

如果哈希值匹配,则 MongoDB 二进制文件通过验证。