我注意到我下载的许多R包的目录中都存在一个名为“MD5”的文件。但是我在'Writing R Extensions'手册中找不到这一点。它列出了包中不同文件的MD5哈希值和文件名。 这个文件用的是什么?它应该包含在我的包装中吗?如何生成?
答案 0 :(得分:2)
在R包中找到的MD5哈希文件用于唯一标识存储库(例如CRAN)上的包PACKAGES
。
具体而言,当包在回购中列出时,包的元数据将添加到名为install.packages()
的文件中。当用户通过?md5sum
请求包时,会触发下载以检查MD5哈希值。这在PACKAGES
函数
MD5总和用于检查R包是否已正确解压缩而未随后修改。
以Package: imudata
Version: 2.0.0
Depends: R (>= 3.2)
Suggests: gmwm
License: file LICENSE
MD5sum: 22797605db853f5f4c2c5612da366b53
NeedsCompilation: no
文件中imudata
package条目中托管的SMAC-Group data repo's为例:
install.packages()
有关回购如何与{{1}}合作的更多信息,请参阅我写的帖子:
答案 1 :(得分:0)
该文件用作tools::checkMD5sums()
的输入,并检查已安装软件包的完整性。可以通过以下代码对格式进行逆向工程:文本文件,每个包含文件的行都有一行,其中包含MD5哈希,*
分隔符以及相对于指定根目录的文件路径。您可以从tools::md5sum()
的输出中手工创建这些文件,也可以使用this Gist中提供的函数,在此还将对此进行更详细的讨论。