你从喜爱的 Linux 发行版的官方网站或第三方网站下载了它的 ISO 镜像之后,接下来要做什么呢?是创建可启动介质并开始安装系统吗?并不是,请稍等一下。在开始使用它之前,强烈建议你检查一下你刚下载到本地系统中的 ISO 文件是否是下载镜像站点中 ISO 文件的一个精确拷贝。因为在前几年 Linux Mint 的网站被攻破了,并且攻击者创建了一个包含后门的经过修改的 Linux Mint ISO 文件。 所以验证下载的 Linux ISO 镜像的可靠性和完整性是非常重要的一件事儿。假如你不知道如何在 Linux 中验证 ISO 镜像,本次的简要介绍将给予你帮助,请接着往下看!
在 Linux 中验证 ISO 镜像
我们可以使用 ISO 镜像的“校验和”来验证 ISO 镜像。校验和是一系列字母和数字的组合,用来检验下载文件的数据是否有错以及验证其可靠性和完整性。当前存在不同类型的校验和,例如 SHA-0、SHA-1、SHA-2(224、256、384、512)和 MD5。MD5 校验和最为常用,但对于现代的 Linux 发行版,SHA-256 最常被使用。
我们将使用名为 gpg 和 sha256 的两个工具来验证 ISO 镜像的可靠性和完整性。
下载校验和及签名
针对本篇指南的目的,我将使用 Ubuntu 18.04 LTS 服务器 ISO 镜像来做验证,但对于其他的 Linux 发行版应该也是适用的。
$ gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com--recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092
示例输出如下:
1 2 3 4 5 6 7
gpg:key D94AA3F0EFE21092: 57 signatures not checked due to missing keys gpg:key D94AA3F0EFE21092: publickey"Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" imported gpg:key46181433FBB75451: 105 signatures not checked due to missing keys gpg:key46181433FBB75451: publickey"Ubuntu CD Image Automatic Signing Key <[email protected]>" imported gpg: no ultimately trusted keys found gpg: Total number processed: 2 gpg: imported: 2
验证 SHA-256 校验和
接下来我们将使用签名来验证校验和文件:
1
$ gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
下面是示例输出:
1 2 3 4 5 6 7 8 9 10 11 12
gpg: Signature made Friday 15 February 201904:23:33 AM IST gpg: using DSA key 46181433FBB75451 gpg: Good signature from "Ubuntu CD Image Automatic Signing Key <[email protected]>" [unknown] gpg: WARNING: This key isnot certified with a trusted signature! gpg: There isno indication that the signature belongs to the owner. Primary key fingerprint: C598 6B4F 1257 FFA8 6632 CBA7 46181433 FBB7 5451 gpg: Signature made Friday 15 February 201904:23:33 AM IST gpg: using RSA key D94AA3F0EFE21092 gpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" [unknown] gpg: WARNING: This key isnot certified with a trusted signature! gpg: There isno indication that the signature belongs to the owner. Primary key fingerprint: 843938DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
假如你在输出中看到 Good signature 字样,那么该校验和文件便是由 Ubuntu 开发者制作的,并且由秘钥文件的所属者签名认证。
检验下载的 ISO 文件
下面让我们继续检查下载的 ISO 文件是否和所给的校验和相匹配。为了达到该目的,只需要运行:
1 2
$ sha256sum -c SHA256SUMS 2>&1 | grep OK ubuntu-18.04.2-live-server-amd64.iso: OK
假如校验和是匹配的,你将看到 OK 字样,这意味着下载的文件是合法的,没有被改变或篡改过。
假如你没有获得类似的输出,或者看到不同的输出,则该 ISO 文件可能已经被修改过或者没有被正确地下载。你必须从一个更好的下载源重新下载该文件。
某些 Linux 发行版已经在它的下载页面中包含了校验和。例如 Pop!_os 的开发者在他们的下载页面中提供了所有 ISO 镜像的 SHA-256 校验和,这样你就可以快速地验证这些 ISO 镜像。