您刚从官方网站或第三方网站下载了您最喜欢的Linux发行版的ISO映像,在开始使用之前,强烈建议您验证本地系统中下载的ISO,以便确认下载镜像中ISO的完全副本。检查Linux ISO映像的真实性和完整性非常重要,在下载的过程中难免会有损坏,而安装这些损坏的ISO会使系统无法正常运行,同时下载服务器被攻击,植入非正常的ISO也是有可能的,所以必需得验证。如果您不知道如何在Linux中验证ISO映像,请继续阅读本文。
在Linux中验证ISO映像
我们可以使用Checksum值验证ISO映像,校验值是一系列字母和数字,用于检查数据是否有错误,并验证下载文件的真实性和完整性,有不同类型的校验和,例如SHA-0、SHA-1、SHA-2(224,256,384,512)和MD5,MD5值最受欢迎,但现在SHA-256 sums值主要用于现代Linux发行版。 我们将使用两个工具,即“gpg”和“sha256”来验证ISO映像的真实性和完整性。 1、下载校验和和签名 我将使用Ubuntu 18.04 LTS服务器ISO映像(参考:正确下载Ubuntu 18.04.2 ISO的方法),但是,下面给出的步骤也适用于其他Linux发行版。 在Ubuntu下载页面的顶部附近,您将看到一些额外的文件(校验值和签名),如下图所示:
这里,SHA256SUMS文件包含所有可用映像的校验值,SHA256SUMS.gpg文件是该文件的GnuPG签名,我们使用此签名文件在后续步骤中校验文件。 下载Ubuntu ISO映像和这两个文件,并将它们全部放在一个目录中,例如ISO: $ ls ISO/ SHA256SUMS SHA256SUMS.gpg ubuntu-18.04.2-live-server-amd64.iso 正如您在上面的输出中看到的,我已经下载了Ubuntu 18.04.2 LTS服务器映像以及校验值和签名值。 2、下载有效的签名密钥 现在,使用以下命令下载正确的签名密钥: $ gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092 样本输出: gpg: key D94AA3F0EFE21092: 57 signatures not checked due to missing keys gpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>" imported gpg: key 46181433FBB75451: 105 signatures not checked due to missing keys gpg: key 46181433FBB75451: public key "Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>" imported gpg: no ultimately trusted keys found gpg: Total number processed: 2 gpg: imported: 2 3、验证SHA-256 checksum 接下来使用带有命令的签名校验文件: $ gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS 样本输出: gpg: Signature made Friday 15 February 2019 04:23:33 AM IST gpg: using DSA key 46181433FBB75451 gpg: Good signature from "Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>" [unknown] 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: C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451 gpg: Signature made Friday 15 February 2019 04:23:33 AM IST gpg: using RSA key D94AA3F0EFE21092 gpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>" [unknown] 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: 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092 如果在输出中看到“Good signature”,则校验值由Ubuntu开发人员创建,并由密钥文件的所有者签名。 4、检查下载的ISO文件 接下来,让我们继续检查下载的ISO文件是否与校验值匹配,为此,只需运行: $ sha256sum -c SHA256SUMS 2>&1 | grep OK ubuntu-18.04.2-live-server-amd64.iso: OK 如果校验值匹配,您将看到“OK”消息,含义:下载的文件是合法的,未被更改或篡改。 如果未获得任何输出或不同于上述输出,则ISO文件已被修改或未正确下载,您必须从良好的来源再次重新下载该文件。 某些Linux发行版在下载页面中包含了校验值,例如,Pop!_os(Pop!_OS 19.04发布下载,基于Ubuntu且搭载Linux 5.0和GNOME 3.32)开发人员为下载页面本身的所有ISO映像提供了SHA256SUMS值,因此您可以快速验证ISO映像:
下载ISO映像后,使用以下命令进行验证: $ sha256sum Soft_backup/ISOs/pop-os_18.04_amd64_intel_54.iso 样本输出如下图:
这里,以“680elaa ...”开头的随机字符串是SHA256SUMS值,将此值与下载页面上提供的SHA256SUMS值进行比较,如果两个值相同,那么下载的ISO文件是合法的,是完整的。
相关主题 |