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

hl0ma9xz  于 12个月前  发布在  ElasticSearch
关注(0)|答案(2)|浏览(177)

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

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

字符串
我得到了这个错误:

shasum: elasticsearch-5.6.4.deb.sha1: no properly formatted SHA1 checksum lines found


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

vshtjzan

vshtjzan1#

这个答案并不是针对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-amd 64二进制文件的目录中运行以下代码

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


来自shasum的OK显示,我下载的二进制文件./kbld-linux-amd64生成的sha 256校验和与开发人员构建时生成的相同,这表明这些文件很可能是相同的

zfciruhq

zfciruhq2#

你是对的,我有点困惑(因为我已经在Elastic文档中写了这一部分):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

相关问题