问题描述
我的嵌入式板在使用时,发现apt install时,提示
“ The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY E852514F5DF312F6”
应该是key过期了。因为去年(2021年还可以使用)
gpg的安装
apt-key需要gpg的支持,这个网上也说明,可以自行搜索,有一个opengpg组织,我找到了相关的软件。具体依赖在编译gnupg-2.2.35时候(./configure的时候会有提示)
相关库包括:
libassuan-2.5.5,libgcrypt-1.10.1,libgpg-error-1.45,libksba-1.6.0,npth-1.6等
一些尝试
网上有很多文章提到这个问题,但是千篇一律的都是需要通过如下命令:
gpg --keyserver hkps://keys.openpgp.org --recv-keys 0xE852514F5DF312F6
gpg --export 0xE852514F5DF312F6 | apt-key add -
但是很不幸,我这里第一步总是不能成功,我也怀疑是公司的网络问题。
最终的解决是在网页https://www.ports.debian.org/archive中提到的
wget -O - https://www.ports.debian.org/archive_2022.key | apt-key add -
我的系统没有wget命令,所以我在主机上下载好该文件,拷贝到目标系统上通过
cat archive_2022.key | apt-key add - ,稍后片刻,提示OK。
下面可以直接apt install wget,安装成功。仍提示一些错误:
Processing triggers for libc-bin (2.33-7) …
ldconfig: /usr/lib/riscv64-linux-gnu/libmpfr.so.6 is not a symbolic link
ldconfig: /usr/lib/riscv64-linux-gnu/libsource-highlight.so.4 is not a symbolic link
ldconfig: /usr/lib/libmetal.so.0 is not a symbolic link
暂时使用是正常的。
总结
通过对这个问题的解决,我觉得应该多从官方的文档入手解决遇到的问题。