你下载了 Fedora,并从下载页面获取了 CHECKSUM 文件。现在你想确认这个 ISO 确实是 Fedora 发布的那一个。
这件事分两部分。
首先验证 CHECKSUM 文件上的签名,然后用这个已验证的文件核对 your ISO 的 SHA256 哈希值。
签名校验与校验和比对解决的不是同一个问题。如果你只是把 your ISO 与一个未经验证的文件中的校验和做比较,你无法知道那个校验和是否与 ISO 一起被替换过。
这篇简短的指南介绍如何从命令行验证 Fedora ISO 的校验和与真实性。
你需要准备什么
你需要:
- 你下载的 Fedora ISO
- 与之匹配的 CHECKSUM 文件
- Fedora 的 OpenPGP 证书
- 一个带有
curl、gpgv和sha256sum的终端
把 ISO 和 CHECKSUM 文件放在同一个目录下。这不是必须的,但能让下面的命令更容易对照。
下面所有命令都以普通用户身份运行,不需要 root 权限。
为了演示,这里使用最新的 Fedora 45 Beta ISO。在 Intel 或 AMD 64 位系统上,Fedora Workstation 45 Beta 当前的文件是:
Fedora-Workstation-Live-45_Beta-1.3.x86_64.iso
Fedora-Workstation-iso-45_Beta-1.3-x86_64-CHECKSUM
Fedora 目前在其 Fedora Workstation 45 Beta 下载页面 上列出了这些文件以及对应的验证命令。
点击那个小对勾按钮。
点击该图标后,你会看到验证 ISO 的说明:
这不只针对 Fedora Beta 镜像;所有 Fedora 发行版都适用。Fedora 镜像的下载按钮旁都会有一个小对勾。
为什么 CHECKSUM 需要签名
SHA256 哈希值只能说明两份数据是否一致,不能说明这个哈希值是谁生成的。
设想有人替换了你的 Fedora ISO,同时提供了一个新的 CHECKSUM 文件,里面是替换后文件的哈希值。简单的哈希比对会通过,因为两个文件彼此一致。
Fedora 解决这个问题的办法,是用 OpenPGP 密钥对 CHECKSUM 文件签名。
因此流程是这样的:
Fedora signing key
↓
signed CHECKSUM file
↓
SHA256 value
↓
your ISO
第一步确认校验和信息来自 Fedora signing key,第二步检查 your ISO 是否与之匹配。
第 1 步:下载 Fedora 的 OpenPGP 证书
在存放 your ISO 和 CHECKSUM 文件的目录中,下载 Fedora 的证书:
curl -O https://fedoraproject.org/fedora.pgp
curl -O https://fedoraproject.org/fedora.gpg
Fedora 在其当前的 Fedora 45 Beta 下载页面上提供了这两个文件。
现在你应该有类似这样的文件:
Fedora-Workstation-Live-45_Beta-1.3.x86_64.iso
Fedora-Workstation-iso-45_Beta-1.3-x86_64-CHECKSUM
fedora.pgp
fedora.gpg
检查密钥环
从互联网下载下来的公钥并不会自动成为受信任的密钥。
Fedora 发布了其 OpenPGP 证书 的信息,包括指纹。在依赖这把密钥进行验证之前,先查看证书信息,并把相关指纹与 Fedora 公开的信息比对。Fedora 在其当前的下载说明中直接链接到该证书信息。
你可以用下面的命令查看密钥环:
gpg --show-keys --with-fingerprint ./fedora.gpg
显示哪些密钥取决于 Fedora 当前包含的证书。撰写本指南时,执行上述命令会给出 Fedora 43、44、45 和 46 的证书信息:
pub rsa4096 2024-08-10 [SCE]
C6E7 F081 CF80 E131 4667 6E88 829B 6066 3164 5531
uid Fedora (43) <[email protected]>
pub rsa4096 2025-01-14 [SCE]
36F6 12DC F27F 7D1A 48A8 35E4 DBFC F71C 6D9F 90A6
uid Fedora (44) <[email protected]>
pub rsa4096 2025-07-29 [SCE]
4F50 A611 4CD5 C697 6A7F 1179 655A 4B02 F577 861E
uid Fedora (45) <[email protected]>
pub rsa4096 2026-01-30 [SCE]
D924 B10D 3E81 0DAB DD8B 56B5 96E7 E914 9121 1FCE
uid Fedora (46) <[email protected]>
重要的是,你信任的指纹要来自 Fedora 公开的信息,而不是只来自下载的文件。
第 2 步:验证 CHECKSUM 文件
现在验证 CHECKSUM 文件的 OpenPGP 签名:
gpgv --keyring ./fedora.gpg \
Fedora-Workstation-iso-45_Beta-1.3-x86_64-CHECKSUM
示例输出:
gpgv: Signature made Friday 11 September 2026 07:13:24 PM IST
gpgv: using RSA key 4F50A6114CD5C6976A7F1179655A4B02F577861E
gpgv: Good signature from "Fedora (45) <[email protected]>"
不要孤立地解读 Good signature。它的意思是签名对所使用的那把公钥在数学上有效。你还需要确认这把公钥就是你核对过指纹的那把 Fedora 密钥。
这就是指纹核对要放在前面的原因。
如果你得到 BAD signature
就此停下。
不要用那个 CHECKSUM 文件去验证 ISO。检查你是否下载了正确的 CHECKSUM 文件,以及是否在使用 Fedora 当前的证书。必要时从 Fedora 官方下载页面重新下载文件,再重复验证。
签名错误不是可以绕过的问题。
第 3 步:检查 Fedora ISO 的完整性与真实性
CHECKSUM 文件通过验证之后,你就可以用它来检查 your ISO。
对 Workstation 45 Beta x86_64 镜像,使用下面的命令:
gpgv --keyring ./fedora.gpg --output - \
Fedora-Workstation-iso-45_Beta-1.3-x86_64-CHECKSUM \
| sha256sum -c --ignore-missing
Fedora 在记录这个 gpgv 管道的同时,也给出了等效的 sq 命令。
这里有两条命令,用 | 连接。
第一条命令验证 CHECKSUM 文件,并把经过认证的内容送到标准输出。
第二条命令 sha256sum 读取这些校验和,并与你计算机上的文件比对。
对 Fedora 45 Beta ISO,你会看到类似下面的输出:
gpgv: Signature made Friday 11 September 2026 07:13:24 PM IST
gpgv: using RSA key 4F50A6114CD5C6976A7F1179655A4B02F577861E
gpgv: Good signature from "Fedora (45) <[email protected]>"
Fedora-Workstation-Live-45_Beta-1.3.x86_64.iso: OK
OK 表示 ISO 的 SHA256 哈希值与经过认证的 CHECKSUM 文件中的对应条目一致。
恭喜!你刚刚用受 Fedora 签名保护的校验和信息验证了这个 ISO。
--ignore-missing 是做什么的?
CHECKSUM 文件可能包含多个 Fedora 镜像的条目,而你可能只下载了其中一个。
--ignore-missing 告诉 sha256sum,不要因为你计算机上不存在的其他镜像而报错。
它不会忽略失败的校验和。
例如:
Fedora-Workstation-Live-45_Beta-1.3.x86_64.iso: FAILED
这就是真正的问题,停下来调查它。
那“improperly formatted”警告呢?
你可能会看到类似这样的输出:
Fedora-Workstation-Live-45_Beta-1.3.x86_64.iso: OK
sha256sum: WARNING: ... lines are improperly formatted
出现这种情况,可能是因为 signed CHECKSUM file 中包含 sha256sum 不会当作普通校验和条目来解释的内容。
关键是你实际下载的那个 ISO 的结果。
OK 才是你要的结果。
出现 FAILED、文件缺失错误或其他意外错误,都需要调查。
所以不要一概而论地认为所有警告都可以忽略,要读懂输出。
手动核对哈希值
你可以自己计算 ISO 的 SHA256 哈希值:
sha256sum Fedora-Workstation-Live-45_Beta-1.3.x86_64.iso
对于当前的 Fedora Workstation 45 Beta x86_64 镜像,Fedora 发布了这个 SHA256 value:
71367760b4cfda9cb5a1dbe9875a2c5fd89ef8333e6fac7508c366e650207905
手动比对适合检查 ISO 是否发生了意外损坏。Fedora 自己也指出,当你只需要测试非故意损坏时,可以使用发布的 SHA256 value。
不过就真实性而言,签名 CHECKSUM 的流程是更完整的方法。
关于 Windows 和 macOS
基本思路在其他操作系统上不变。
在 Windows 上,PowerShell 可以用下面的命令计算 SHA256 哈希值:
Get-FileHash "C:\Downloads\Fedora-Workstation-Live-45_Beta-1.3.x86_64.iso" -Algorithm SHA256
然后你可以把结果与已验证的 CHECKSUM 文件中的对应条目比对。要做完整的签名验证,还需要一个 OpenPGP 实现,例如 GnuPG。
在 macOS 上,内置的 shasum 命令可以计算哈希值:
shasum -a 256 Fedora-Workstation-Live-45_Beta-1.3.x86_64.iso
同样,计算哈希值只是验证流程的第二部分。如果你要确认来源真实性,还要验证 CHECKSUM 的签名。
如果你不想使用命令行,Fedora Media Writer 提供了图形化的方式来下载 Fedora 并创建安装介质。Fedora 的下载页面也为希望自行执行加密校验的用户提供了手动验证说明。
常见错误
核对错了校验和
确认校验和属于你下载的那个确切的 ISO。Workstation、Server、KDE、ARM 和 x86_64 镜像的文件和校验和各不相同。
信任未经验证的 CHECKSUM 文件
如果校验和本身来自不受信任的来源,那么 SHA256 value 匹配也不够。
先验证 OpenPGP 签名。
把 Good signature 当作整个流程
签名必须由你打算信任的那把 Fedora 密钥生成。这就是核对密钥指纹很重要的原因。
忽略失败的校验和
如果 your ISO 显示 FAILED,不要安装它,也不要把这个结果解释成无害的警告。重新下载 ISO 并从头检查一遍。
使用通配符却不检查它匹配了什么
你可能会看到这样的命令:
*-CHECKSUM
目录里只有一个 CHECKSUM 文件时,这样很方便。如果你下载了多个 Fedora 镜像,请改用确切的文件名,避免产生歧义。
Fedora 45 Beta 是预发布软件。校验和验证成功只说明 your ISO 与 Fedora 发布的镜像一致,并不说明这个 beta 没有 bug,或者可以用于生产环境。




