Ubuntu使用SHA256检验iso镜像完整性的实例

Ubuntu系统中 , 对于下载的文件最好检测下其完整性(详见系统之家如何检测Linux系统已下载文件的完整性) , 今天小编要给大家介绍的是如何使用SHA256检验iso镜像的完整性 , 一起来了解下吧 。

Ubuntu使用SHA256检验iso镜像完整性的实例


对于 Ubuntu 发行版的情况 ,  Canonical 提供了几个供验证使用的验校文件(如 MD5SUM ,  SHA1SUMS 和 SHA256SUMS) 。在这个例子中我们使用 SHA256SUMS 。
Ubuntu使用SHA256检验iso镜像完整性的实例


首先 , 下载下面两个文件 。
$ wget http://releases.ubuntu.com/14.10/SHA256SUMS
$ wget http://releases.ubuntu.com/14.10/SHA256SUMS.gpg
第一个文件是 ISO 镜像的 SHA256 验校文件 , 而第二个文件(*.gpg)是验校文件的签名 。第二个文件的目的是验证验校文件本身的有效性 。
我们通过运行下面的命令来验证 SHA256SUMS 文件的有效性 。
$ gpg --verify SHA256SUMS.gpg SHA256SUMS
gpg:Signature made Thu23Oct201409:36:00 AM EDT using DSA key ID FBB75451
【Ubuntu使用SHA256检验iso镜像完整性的实例】 gpg:Can‘t check signature: public key not found
如果你得到上面的错误信息 , 是因为你还没有导入生成这个签名的公共密钥 。因此我们现在导入需要的公共密钥 。
这样做之前 , 你需要知道公共密钥的 “key ID” , 而这在上面的 gpg 命令的输出中有显示 。在这个例子中 , 密钥 ID 时 “FBB75451” 。运行下面的命令来从官方 Ubuntu 密钥服务器导入公共密钥 。
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys FBB75451
Ubuntu使用SHA256检验iso镜像完整性的实例


既然公共密钥已经被导入 , 我们可以继续并重新运行之前的命令来验证签名 。
gpg --verify SHA256SUMS.gpg SHA256SUMS
Ubuntu使用SHA256检验iso镜像完整性的实例


这次你没有看到 “public key not found” 的错误信息 。如果 SHA256SUMS 文件时有效的 , 你会看到 “Good signature from ” 的信息 。注意到你还看到一个 “This key is not certified with a trusted signature” 的警告信息 。基本上这个警告信息是告诉你对导入的公共密钥没有明确信任 。要避免这个警告 , 你可以选择指定完全信任导入的公共密钥 , 但你应该只有在通过其他方式审查了这个密钥之后才这样做 。否则的话 , 你可以暂时忽略这个警告 。
在验证了 SHA256SUMS 文件的完整性后 , 最后一个步骤是比较已下载 ISO 文件的 SHA256 验校和和 SHA256SUMS 文件中对应的验校值 。你可以使用 sha256sum 命令行工具来完成这个步骤 。
为方便起见 , 下面一行命令比较 SHA256 验校和并报告结果 。
$ sha256sum -c 《(grep ubuntu-14.10-desktop-amd64.iso SHA256SUMS)
ubuntu-14.10-desktop-amd64.iso: OK
如果你看到了上面的输出信息 , 这表明两个验校值相匹配 。这样已下载 ISO 镜像的完整性就被成功的验证了 。
上面就是Ubuntu使用SHA256检测iso镜像完整性的方法 , 如果iso镜像不完整 , 那么在使用的时候就会造成不必要的麻烦 , 而iso镜像通常又比较大 , 检测下会比较好 。

    推荐阅读