什么shasum:elasticsearch-5.0.0.deb.sha1:找不到格式正确的SHA1校验和行是什么意思?

时间:2018-02-10 10:53:40

标签: elasticsearch sha1 checksum sha elasticsearch-5

我想在ubuntu 17.10上安装elasticsearch5.6.4。所以我下载了elasticsearch.deb和elasticsearch.deb.sha1。正如结构在this guide中说的那样,在我运行之后

In [25]: d = '{1: 2, 3: 4}'

In [26]: import ast

In [27]: ast.literal_eval(d)
Out[27]: {1: 2, 3: 4}

我收到了这个错误:

shasum -a 512 -c elasticsearch-6.2.1.tar.gz.sha512

这个错误是什么意思?我该怎么办?

2 个答案:

答案 0 :(得分:0)

你是对的,我有点疑惑(因为我已在Elastic docs中写过这一部分):shasum -a 512适用于其他操作系统并检查手册页,我原以为它应该在Ubuntu上做同样的事情:

-a, --algorithm   1 (default), 224, 256, 384, 512, 512224, 512256

When verifying SHA-512/224 or SHA-512/256 checksums, indicate the
algorithm explicitly using the -a option, e.g.

  shasum -a 512224 -c checksumfile

我不确定为什么shasum -a 512在这里不起作用,但这3个替代方案都能为您提供正确的结果:

  • shasum -c elasticsearch-6.2.1.deb.sha512 -a 512
  • shasum -a 512256 -c elasticsearch-6.2.1.deb.sha512
  • sha512sum -c elasticsearch-6.2.1.deb.sha512

答案 1 :(得分:0)

对于OP(希望现在可以对其进行排序),这个答案并不重要,而是遇到问题中错误的任何路人。

错误

shasum: [CHECKSUM_FILENAME] : no properly formatted SHA[TYPE] checksum lines found

表示传递给-c标志的校验和文件未格式化为 跟随

a67eb6eeeff63ac77d34c2c86b0a3fa97f69a9d3f8c9d34c20036fa79cb4214d  ./kbld-linux-amd64

哪里

  • 第一个字段是预期校验和
  • 第二个字段是一个''字符,表示该文件将作为文本文件进行检查(而不是作为二进制文件进行检查或在忽略换行符的通用模式下进行检查)
  • 第三个字段是您可能刚刚下载的文件的名称及其要验证的完整性

因此,在上面的示例中,创建kbld supplied the above text on their release page的开发人员显示了他们为各种平台构建kbld二进制文件后计算出的校验和。

我将Linux构建的行添加到名为kbld_v0_7_0.checksum的文件中,然后在下载kbld-linux-amd64二进制文件的目录中运行以下命令

$ shasum -c kbld_v0_7_0.checksum -a 256
./kbld-linux-amd64: OK

shasum的确定表明,我下载的二进制文件./kbld-linux-amd64生成与开发人员进行构建时生成的相同的sha256校验和,这表明文件很可能是相同的< / p>