从下载的文件中添加密钥

从下载的文件中添加密钥
curl -s http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/archive.key | apt-key add -

这是我用来下载密钥并添加到其中的语句。它工作正常。但我想按以下方式进行

从 URL 下载密钥并添加

我已将其下载到/usr/local

/usr/local/archive.key | apt-key add -

我试过了。但我收到以下错误

usr/local/archive.key: 1: usr/local/archive.key: -----BEGIN: not found
usr/local/archive.key: 2: usr/local/archive.key: Syntax error: "(" unexpected
gpg: no valid OpenPGP data found.

有什么想法可以通过下载的文件来实现它吗?

我的语法有什么问题file | apt-key add -?它会将管道前面的内容视为 URL 吗?

答案1

当您输入时,file | apt-key add -您告诉系统执行该文件并将输出提供给apt-key

如果您想要提供文件内容,apt-key您应该使用:

cat file | apt-key add -

编辑

只要您对该文件有执行权限,系统就会尝试执行它。系统会读取文件开头的几个字节(即#!/bin/sh#!/usr/bin/python二进制可执行文件头),并尝试找出应该如何执行它。在您的例子中,它会找到密钥的开头:- - -开始,不知道如何执行它并给你一些神秘的错误信息。

答案2

这是语法错误。来自手册页

apt-key [--keyring filename] [command] [arguments...]

所以,应该是

apt-key add /usr/local/archive.key

相关内容