docker - 使用 PGP 验证 Alpine 容器中的 GDB

标签 docker gdb gnu gnupg alpine-linux

我已经从 GNU.org、博客和其他 SO 帖子中编译了信息,但我缺少一个关键组件来正确验证我下载到容器中的 GDB 版本。

# Install GNU GDB
RUN ["/bin/ash","-c","\
    mkdir gdb-build \
 && cd gdb-build \
 && wget https://ftp.gnu.org/gnu/gdb/gdb-8.1.tar.xz \
 && wget https://ftp.gnu.org/gnu/gdb/gdb-8.1.tar.xz.sig \
 && gpg --import https://ftp.gnu.org/gnu/gnu-keyring.gpg \
 && gpg --verify --keyring ./gnu-keyring.gpg gdb-8.1.tar.xz.sig \
 && tar -xvf gdb-8.1.tar.xz \
 && cd gdb-8.1 \
 && ./configure --prefix=/usr \
 && make \
 && make -C gdb install \
 && cd .. \
 && rm -rf gdb-build/ \
"]

输出如下所示:

...
2018-03-10 18:04:52 (5.92 MB/s) - 'gdb-8.1.tar.xz' saved [20095080/20095080]

--2018-03-10 18:04:52--  https://ftp.gnu.org/gnu/gdb/gdb-8.1.tar.xz.sig
Resolving ftp.gnu.org... 208.118.235.20, 2001:4830:134:3::b
Connecting to ftp.gnu.org|208.118.235.20|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 72 [application/pgp-signature]
Saving to: 'gdb-8.1.tar.xz.sig'

     0K                                                       100% 1.27M=0s

2018-03-10 18:04:52 (1.27 MB/s) - 'gdb-8.1.tar.xz.sig' saved [72/72]

gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
gpg: can't open 'https://ftp.gnu.org/gnu/gnu-keyring.gpg': No such file or directory
gpg: Total number processed: 0

我缺少哪一步?如何正确配置 GnuPG 来访问 key ?

最佳答案

gpg命令的正确语法是:

Syntax: gpg [options] [files]
Sign, check, encrypt or decrypt
Default operation depends on the input data

命令 gpg --import 需要文件,而不是链接,因此应在 gpg 命令之前下载 gnu-keyring.gpg .

Dockerfile 的正确部分是:

RUN ["/bin/ash","-c","\
    mkdir gdb-build \
 && cd gdb-build \
 && wget https://ftp.gnu.org/gnu/gdb/gdb-8.1.tar.xz \
 && wget https://ftp.gnu.org/gnu/gdb/gdb-8.1.tar.xz.sig \
 && wget https://ftp.gnu.org/gnu/gnu-keyring.gpg \
 && gpg --import ./gnu-keyring.gpg \
 && gpg --verify --keyring ./gnu-keyring.gpg gdb-8.1.tar.xz.sig \
 && tar -xvf gdb-8.1.tar.xz \
 && cd gdb-8.1 \
 && ./configure --prefix=/usr \
 && make \
 && make -C gdb install \
 && cd .. \
 && rm -rf gdb-build/ \
"]

关于docker - 使用 PGP 验证 Alpine 容器中的 GDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49212555/

相关文章:

ios - 使用Docker自动化iOS测试

eclipse - 尝试调试 D 程序时出错

c - C 中局部堆栈变量存储在哪里?

c - 过程识别

Makefile(自动依赖生成)

c - 如何修复 ".c:6: undefined reference to ' printf'

docker - 查找一个Docker容器可以从该容器中访问多少CPU

java - 如何为使用 kafka 和 cassandra 的应用程序设置/创建 docker 镜像

c - pthreads 编译的问题

docker - 带有URL路径的Docker满