R包中的MD5文件用于什么?它是如何产生的?

时间:2016-06-30 13:36:25

标签: r md5 r-package

我注意到我下载的许多R包的目录中都存在一个名为“MD5”的文件。但是我在'Writing R Extensions'手册中找不到这一点。它列出了包中不同文件的MD5哈希值和文件名。 这个文件用的是什么?它应该包含在我的包装中吗?如何生成?

2 个答案:

答案 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}}合作的更多信息,请参阅我写的帖子:

http://thecoatlessprofessor.com/programming/r-data-packages-in-external-data-repositories-using-the-additional_repositories-field/

答案 1 :(得分:0)

该文件用作tools::checkMD5sums()的输入,并检查已安装软件包的完整性。可以通过以下代码对格式进行逆向工程:文本文件,每个包含文件的行都有一行,其中包含MD5哈希,*分隔符以及相对于指定根目录的文件路径。您可以从tools::md5sum()的输出中手工创建这些文件,也可以使用this Gist中提供的函数,在此还将对此进行更详细的讨论。