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

Fat*_*Moh 4 checksum sha1 sha elasticsearch elasticsearch-5

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

shasum -a 512 -c elasticsearch-6.2.1.tar.gz.sha512
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

shasum: elasticsearch-5.6.4.deb.sha1: no properly formatted SHA1 checksum lines found
Run Code Online (Sandbox Code Playgroud)

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

Rob*_*lty 5

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

错误

shasum: [CHECKSUM_FILENAME] : no properly formatted SHA[TYPE] checksum lines found
Run Code Online (Sandbox Code Playgroud)

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

a67eb6eeeff63ac77d34c2c86b0a3fa97f69a9d3f8c9d34c20036fa79cb4214d  ./kbld-linux-amd64
Run Code Online (Sandbox Code Playgroud)

在哪里

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

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

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

$ shasum -c kbld_v0_7_0.checksum -a 256
./kbld-linux-amd64: OK
Run Code Online (Sandbox Code Playgroud)

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