![同一发行版中二进制文件的唯一性](https://linux22.com/image/204015/%E5%90%8C%E4%B8%80%E5%8F%91%E8%A1%8C%E7%89%88%E4%B8%AD%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E7%9A%84%E5%94%AF%E4%B8%80%E6%80%A7.png)
不同但相同的 Linux 系统(比如说相同的 Debian 版本,完全修补)上的通用二进制文件是否应该在系统之间具有完全相同的二进制文件(匹配哈希值)?
是否有任何已知的 Linux 的“已知良好”哈希值集合,类似于 VirusTotal 如何将 microsoft 提供的二进制文件识别为“由 Microsoft 提供”?
我之所以这么问,是因为几乎每次我调查系统上(希望)合法的二进制文件时,它几乎都不会出现在 VirusTotal 或互联网上的其他任何地方(除非是类似的东西ls
)
答案1
运行给定架构和包版本的所有系统都将具有完全相同的二进制文件,除非它们在每个单独的系统上进行后处理(正如预加载流行时所发生的那样)。
我不知道 Debian 发布的单个二进制文件的集中哈希列表。然而,大多数 Debian 软件包都有自己的哈希值,可以在本地系统上以/var/lib/dpkg/info/*.md5sums
.
显然这些文件可以在本地系统上修改,所以它们不是本质上值得信赖。然而,它们可以用于外部验证二进制文件:
- 运行
dpkg -V
以根据存储的哈希值验证已安装的文件; - 从主存储库下载软件包(请参阅如何保证 Debian 软件包的真实性?了解如何验证这些内容 -
apt
为您进行验证); - 检查您的本地哈希值与下载的包中的哈希值相比是否没有更改。
如果您想自己解决最初的问题,您可以.md5sums
从所有可用的包中提取文件并将哈希值发布到某个地方。