链接
- https://ubuntu.com/tutorials/how-to-verify-ubuntu
- https://releases.ubuntu.com/jammy/
- 本文是2的简明版
sha256sum介绍
sha256sum -c SHA256SUMS 2>&1
这段脚本的作用是验证文件的 SHA-256 校验和。具体来说,命令的各个部分含义如下:
-
sha256sum
: 这是一个用于计算和验证文件 SHA-256 校验和的命令行工具。 -
-c
: 这个选项表示“检查”模式。它会读取指定的校验和文件(在这里是SHA256SUMS
),并验证该文件中列出的每个文件的 SHA-256 校验和。 -
SHA256SUMS
: 这是一个包含文件名及其对应 SHA-256 校验和的文件。这个文件通常是由某个软件包的发布者提供的,用于确保下载的文件没有被篡改。 -
2>&1
: 这个部分是一个重定向操作。它将标准错误(文件描述符 2)重定向到标准输出(文件描述符 1),这样所有的输出(包括错误信息)都会被合并到一起,方便查看。
总结
整条命令的作用是:使用 sha256sum
工具检查 SHA256SUMS
文件中列出的文件的 SHA-256 校验和,并将所有输出(包括错误信息)打印到标准输出。这通常用于确保下载的文件的完整性和真实性。
用sha256校验iso的流程
- 验使用 GnuPG 来验证 SHA256SUMS 文件的签名
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
这段脚本的作用是使用 GnuPG(GNU Privacy Guard)工具来验证一个文件的完整性和真实性。
具体解释如下:
gpg
:表示要运行 GnuPG 工具。--keyid-format long
:设置密钥 ID 的格式为长格式。--verify SHA256SUMS.gpg SHA256SUMS
:验证SHA256SUMS.gpg
文件的签名,并使用SHA256SUMS
文件中列出的哈希值来验证文件的完整性。在验证过程中,GnuPG 会检查签名是否有效以及是否与签名的密钥匹配。
总结起来,这段脚本的作用是使用 GnuPG 来验证 SHA256SUMS
文件的签名,并通过比对哈希值来验证文件的完整性。这段脚本的作用是使用 GnuPG(GNU Privacy Guard)工具来验证一个文件的完整性和真实性。
- 使用 GnuPG(GNU Privacy Guard)工具从指定的密钥服务器接收并导入一个公钥。
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x843938DF228D22F7B3742BC0D94AA3F0EFE21092
这段脚本的作用是使用 GnuPG(GNU Privacy Guard)工具从指定的密钥服务器接收并导入一个公钥。
具体解释如下:
gpg
:表示要运行 GnuPG 工具。--keyid-format long
:设置密钥 ID 的格式为长格式。--keyserver hkp://keyserver.ubuntu.com
:指定要使用的密钥服务器,这里使用的是 Ubuntu 密钥服务器。--recv-keys 0x843938DF228D22F7B3742BC0D94AA3F0EFE21092
:指定要接收的公钥的密钥 ID。公钥的密钥 ID 是一个唯一的标识符,用于确保所接收的公钥是预期的。
- 使用 GnuPG 工具列出指定公钥的信息和指纹。
gpg --keyid-format long --list-keys --with-fingerprint 0xD94AA3F0EFE21092
这段脚本的作用是使用 GnuPG 工具列出指定公钥的信息和指纹。
具体解释如下:
gpg
:表示要运行 GnuPG 工具。--keyid-format long
:设置密钥 ID 的格式为长格式。--list-keys
:列出已导入的公钥列表。--with-fingerprint
:在列表中显示公钥的指纹信息。0xD94AA3F0EFE21092
:指定要列出的公钥的密钥 ID。
- 检查Key fingerprint,应当与官网的密钥指纹匹配
pub dsa1024/46181433FBB75451 2004-12-30 [SC]Key fingerprint = C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451
uid Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>pub rsa4096/D94AA3F0EFE21092 2012-05-11 [SC]Key fingerprint = 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
uid Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
- 用sha256校验和,按SHA256算法来验证.iso文件(下载desktop版本的话,最好把live-server那行注释掉)
$ sha256sum -c SHA256SUMS 2>&1
ubuntu-22.04.5-desktop-amd64.iso: 成功
color egg
可以从密钥服务器再接收一个公钥
$ gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x46181433FBB75451
gpg: 密钥 46181433FBB75451:公钥 “Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>” 已导入
gpg: 处理的总数:1
gpg: 已导入:1
再列出公钥的指纹
$ gpg --keyid-format long --list-keys --with-fingerprint 0x46181433FBB75451 0x843938DF228D22F7B3742BC0D94AA3F0EFE21092
pub rsa4096/D94AA3F0EFE21092 2012-05-11 [SC]密钥指纹 = 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
uid [ 未知 ] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>pub dsa1024/46181433FBB75451 2004-12-30 [SC]密钥指纹 = C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451
uid [ 未知 ] Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>