Extra Credit
验证我们下载的 iso 映像的完整性通常很有用。 在大多数情况下,iso 映像的分发者还将提供 校验和文件. 校验和是奇异数学计算的结果,产生一个代表目标文件内容的数字。 即使文件的内容改变了一位,所产生的校验和也会大不相同。 最常见的校验和生成方法使用 md5sum 程序。 当你使用 md5sum,它产生一个唯一的十六进制数:
md5sum 镜像.iso
34e354760f9bb7fbf85c96f6a3f94ece image.iso
md5sum 镜像.iso
34e354760f9bb7fbf85c96f6a3f94ece image.iso
下载图像后,您应该运行 md5sum 反对它并将结果与 md5sum 发布者提供的值。
除了检查下载文件的完整性外,我们还可以使用 md5sum 来验证新写入的光学媒体。 为此,我们首先计算图像文件的校验和,然后计算媒体的校验和。 验证媒体的技巧是将计算限制为仅包含图像的光学媒体部分。 我们通过确定图像包含的 2048 字节块的数量(光学媒体总是以 2048 字节块写入)并从媒体中读取那么多块来做到这一点。 在某些类型的媒体上,这不是必需的。 可以通过以下方式检查以一次光盘模式写入的 CD-R:
md5sum /dev/cdrom
34e354760f9bb7fbf85c96f6a3f94ece /dev/cdrom
md5sum /dev/cdrom
34e354760f9bb7fbf85c96f6a3f94ece /dev/cdrom
许多类型的媒体,例如 DVD,需要精确计算
Extra Credit
块。 在下面的例子中,我们检查图像文件的完整性 DVD-image.iso
和 DVD 阅读器中的光盘 /开发/DVD. 你能弄清楚这是如何工作的吗?
md5sum dvd-image.iso; dd if=/dev/dvd bs=2048 count=$(( $(stat -c "%s" dvd-image.iso) / 2048 )) | md5sum
md5sum dvd-image.iso; dd if=/dev/dvd bs=2048 count=$(( $(stat -c "%s" dvd-image.iso) / 2048 )) | md5sum