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

问题描述 投票:0回答:2

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

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

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

elasticsearch sha1 checksum sha elasticsearch-5
2个回答
5
投票

这个答案并不是针对OP(希望现在已经排序)而是针对遇到问题中错误的任何路人。

错误

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

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

a67eb6eeeff63ac77d34c2c86b0a3fa97f69a9d3f8c9d34c20036fa79cb4214d  ./kbld-linux-amd64

哪里

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

因此,在上面的示例中,创建 kbld 的开发人员在其发布页面上提供了上述文本,以显示他们在为各种平台构建 kbld 二进制文件后计算出的校验和。

我将 linux 构建的行添加到名为

kbld_v0_7_0.checksum
的文件中,然后在下载 kbld-linux-amd64 二进制文件的目录中运行以下命令

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

shasum 的 OK 显示我下载的二进制文件

./kbld-linux-amd64
生成了与开发人员构建时生成的相同的 sha256 校验和,这表明这些文件很可能是相同的


3
投票

你是对的,我有点困惑(因为我在 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
© www.soinside.com 2019 - 2024. All rights reserved.