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