---
author: Arindam
category: 技术
comments_data: []
count:
  commentnum: 0
  favtimes: 0
  likes: 0
  sharetimes: 0
  viewnum: 1941
date: '2023-04-25 21:28:00'
editorchoice: false
excerpt: 这篇简单指南演示了在 Ubuntu 和其他 Linux 发行版中验证 ISO 文件过程。
fromurl: https://www.debugpoint.com/verify-iso-files-linux/
id: 15755
islctt: true
largepic: /images/p/202304/25/212733t57u5suu75t58gl5.jpg
permalink: /article-15755-1.html
pic: /images/p/202304/25/212733t57u5suu75t58gl5.jpg.thumb.jpg
related: []
reviewer: wxy
selector: lkxed
summary: 这篇简单指南演示了在 Ubuntu 和其他 Linux 发行版中验证 ISO 文件过程。
tags:
- ISO
thumb: false
title: 在 Linux 中验证 ISO 文件的初学者指南
titlepic: true
translator: geekpi
updated: '2023-04-25 21:28:00'
---

![](/images/p/202304/25/212733t57u5suu75t58gl5.jpg)



> 
> 这篇简单指南演示了在 Ubuntu 和其他 Linux 发行版中验证 ISO 文件过程。
> 
> 
> 


从互联网下载操作系统镜像文件或软件有时会带来安全风险，因为恶意行为者可能会损坏或修改文件。为保证下载文件的真实性和完整性，需要对其进行校验。在本初学者指南中，我们将引导你在 Linux 中验证 ISO 文件。


### 什么是 ISO 文件？


ISO 文件通常用于创建可启动媒体、安装软件和创建备份。ISO 文件包含压缩格式的所有原始应用/光盘数据，可以轻松下载并通过互联网共享。


例如，如果你下载 Ubuntu 桌面、服务器或任何其他 Linux 操作系统，你一定遇到过扩展名为 .iso 的文件。它还用于应用或其他操作系统，例如 Windows。


### 为什么要验证 ISO 文件？


验证 ISO 文件对于确保下载的文件真实且未被修改至关重要。修改后的 ISO 文件可能包含可能损害你系统的恶意软件或病毒。验证 ISO 文件可确保下载的文件与开发人员创建的文件相同且未被篡改。


例如，几年前 [Linux Mint 服务器被黑](https://blog.linuxmint.com/?p=2994) 并且官方 ISO 文件被修改。由于你是从官方网站下载的，你可能会认为这些文件是真实的，但它们不一定是。


因此，在使用 ISO 文件安装到你的笔记本电脑/台式机之前，始终验证 ISO 文件非常重要。


### 在 Linux 中验证 ISO 文件的方法


Linux 中校验 ISO 文件的常用方法有两种：


* 使用 SHA-256 校验和
* 使用 GPG 签名


#### 使用 SHA-256 校验和


[SHA-256](https://en.wikipedia.org/wiki/SHA-2) 是一种加密哈希函数，可为文件生成唯一的哈希值。校验和是将 SHA-256 算法应用于文件的结果。校验和是一个唯一的字符串，可用于验证文件的完整性。


要使用 SHA-256 校验和验证 ISO 文件，请从开发者网站下载 SHA-256 校验和。SHA-256 校验和文件将包含 ISO 文件的校验和值。你需要生成下载的 ISO 文件的校验和值，并将其与 SHA-256 校验和文件中的校验和值进行比较。如果两个值匹配，则下载的 ISO 文件是真实的且未被修改。


#### 使用 GPG 签名


[GPG](https://gnupg.org/)（GNU Privacy Guard）是一种加密软件，可用于对文件进行签名和验证。GPG 签名是一种数字签名，可确保文件的真实性和完整性。开发者使用他们的私钥签署 ISO 文件，用户使用开发者的公钥验证签名。


要使用 GPG 签名验证 ISO 文件，你需要从开发者网站下载 GPG 签名文件。GPG 签名文件将包含开发者的公钥和 ISO 文件的签名。你需要导入开发者公钥，下载 ISO 文件和 GPG 签名文件，并使用开发者公钥对 ISO 文件进行签名验证。如果签名有效，则 ISO 文件是真实的并且未被修改。


### 如何在 Linux 中验证 ISO 文件：示例


让我们看一下上述在 Linux 中使用 SHA-256 校验和及 GPG 签名验证 ISO 文件的方法的一些示例。


#### 使用 SHA-256 校验和验证 ISO 文件


![示例 - 要验证和校验和的 ISO 文件](/images/p/202304/25/212927k1768raei07r6jrv.jpg)


* 我已经从 [官方网站](https://linuxmint.com/edition.php?id=302) 下载了 Linux Mint 21.1 ISO 文件。
* 此外，我还下载了包含 ISO 文件校验和的 SHA-256 文本文件（见上图）。
* 现在，打开终端并转到 ISO 和 SHA-256 校验和文件所在的目录。
* 在终端中使用 `sha256sum` 命令生成 ISO 文件的 SHA-256 校验和值。例如，要生成上述名为 linuxmint-21.1-cinnamon-64bit.iso 的 ISO 文件的校验和值，请运行以下命令：



```
sha256sum linuxmint-21.1-cinnamon-64bit.iso

```

* 将生成的校验和值与 SHA-256 校验和文件中的校验和值进行比较。如果两个值匹配，则 ISO 文件是真实的并且未被修改。
* 这是上述 ISO 文件的并排比较。


![使用 sha256sum 命令验证 ISO 文件](/images/p/202304/25/212935so988z3ndxc3xo70.jpg)


如果校验和匹配，你可以确信该文件是真实的并且没有被篡改。你可以对任何其他 ISO 文件和校验和使用相同的命令进行验证。


现在，让我们看看如何使用 GPG 密钥进行验证。


#### 使用 GPG 签名验证 ISO 文件


对于上面的示例，我已经从官方网站下载了 .gpg 文件和 ISO 文件。


下一步是下载并导入开发者的公钥。你可以从开发者的网站或密钥服务器下载公钥。


我使用下面的命令为这个例子下载了 Linux Mint 的公钥。因此，对于相应 Linux 发行版文件的 ISO 文件，请查看下载页面以找出公钥。



```
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-key "27DE B156 44C6 B3CF 3BD7 D291 300F 846B A25B AE09"

```

**注意**：你还可以下载公钥 `.asc` 文件（如果有），然后使用命令 `gpg --import developer_key_file.asc` 将其导入你的系统。


完成后，运行下面的 gpg 命令来验证文件。



```
gpg --verify sha256sum.txt.gpg sha256sum.txt

```

![使用 gpg 密钥验证 ISO 文件](/images/p/202304/25/212944rxypmwkkywmuymzx.jpg)


如果文件是真实的，你应该会在上述命令的输出中看到 “Good signature” 消息。此外，你可以匹配公钥的最后 8 个字节。“Warning” 是一条通用消息，你可以忽略它。


### 总结


验证 ISO 文件是确保下载文件的真实性和完整性的重要步骤。在本初学者指南中，我介绍了在 Linux 中使用 SHA-256 校验和和 GPG 签名验证 ISO 文件的方法和步骤。通过执行这些步骤，你可以自信地下载和使用 ISO 文件，知道它们没有被修改并且可以安全使用。


请记住，即使你是从官方网站下载的，在你验证之前你永远不会知道 ISO 文件是否真实。因此，请将此作为最佳实践。



> 
> **[参考信息](https://linuxmint-installation-guide.readthedocs.io/en/latest/verify.html)**
> 
> 
> 


*（题图：MJ/iso cd image illustration in high resolution, very detailed, 8k）*




---


via: <https://www.debugpoint.com/verify-iso-files-linux/>


作者：[Arindam](https://www.debugpoint.com/author/admin1/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出