云网牛站
所在位置:首页 > Linux教程 > 在Linux系统中验证ISO映像的方法

在Linux系统中验证ISO映像的方法

2019-07-27 21:14:36作者:自源稿源:云网牛站

您刚从官方网站或第三方网站下载了您最喜欢的Linux发行版的ISO映像,在开始使用之前,强烈建议您验证本地系统中下载的ISO,以便确认下载镜像中ISO的完全副本。检查Linux ISO映像的真实性和完整性非常重要,在下载的过程中难免会有损坏,而安装这些损坏的ISO会使系统无法正常运行,同时下载服务器被攻击,植入非正常的ISO也是有可能的,所以必需得验证。如果您不知道如何在Linux中验证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下载页面的顶部附近,您将看到一些额外的文件(校验值和签名),如下图所示:

在Linux系统中验证ISO映像的方法

这里,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映像:

在Linux系统中验证ISO映像的方法

下载ISO映像后,使用以下命令进行验证:

$ sha256sum Soft_backup/ISOs/pop-os_18.04_amd64_intel_54.iso

样本输出如下图:

在Linux系统中验证ISO映像的方法

这里,以“680elaa ...”开头的随机字符串是SHA256SUMS值,将此值与下载页面上提供的SHA256SUMS值进行比较,如果两个值相同,那么下载的ISO文件是合法的,是完整的。

 

相关主题

公布Ubuntu 19.04 ISO的MD5SUMS、SHA1SUMS、SHA256SUMS值

精选文章
热门文章