安装或升级软件包时,日志中通常会出现以下内容:
* ....tar.gz SHA256 SHA512 WHIRLPOOL 大小;-) ...
这是什么意思以及表情符号代表什么? ;-)
答案1
当包维护者创建包的版本时,该repoman
工具会获取输入文件(通常是包含源代码的 tar 存档和 ebuild 本身),并计算其哈希值。然后该信息被记录在包Manifest
文件中。
在 portage 解压并编译包之前,它会验证所有这些哈希值是否准确。
例如,如果您查看/usr/portage/app-editors/vim/Manifest
,您将看到该包的文件列表以及哈希值列表。
您看到的检查是 portage 已验证哈希值是否正确,然后它将继续解包/编译/安装。
您看到的具体列表SHA256 SHA512 WHIRLPOOL size
告诉您 portage 成功验证了哈希值 SHA256、SHA512、WHIRLPOOL,此外还验证了文件大小。
为什么里面有一个笑脸,我真的不知道。
要测试上述内容并查看检查是否失败,只需对电子构建进行任何小的更改,然后尝试安装它。
例如,在撰写本文时更改当前 vim 版本中的单个字母,我得到:
# emerge -vp vim
These are the packages that would be merged, in order:
Calculating dependencies /
* Digest verification failed:
* /usr/portage/app-editors/vim/vim-7.4.273.ebuild
* Reason: Failed on SHA256 verification
* Got: 376375965ab5830f176e9825e1f69b98f88d14331db5527317308b201befa933
* Expected: cbc64bcd5136f7c6059e379634e75117062204075001cf861d18a589c6f8535d