我有一个第三方软件,它是从其自己的存储库安装的,需要配置自定义密钥。除了将其密钥添加到全局密钥环之外,我如何正确设置密钥以仅用于该存储库?
典型的错误信息如下:
由于公钥不可用,无法验证以下签名:NO_PUBKEY D208507CA14F4FCA
答案1
可以keyserver.ubuntu.com
用来检索密钥,但在继续之前您必须手动确认密钥正确:
sudo -H gpg --keyserver keyserver.ubuntu.com --recv-keys D208507CA14F4FCA
此命令将密钥放入全局密钥环中,并作为导出密钥的中间步骤。密钥将在后续步骤中被删除。
-H
需要处理sudo
与 HOME 目录有关的权限问题
接下来是导出密钥环的一系列命令
sudo -H gpg --export --output erlang.gpg D208507CA14F4FCA
mkdir -p /usr/local/share/keyrings
mv ./erlang.gpg /usr/local/share/keyrings/
然后从钥匙圈上取下钥匙
sudo -H gpg --batch --yes --delete-key D208507CA14F4FCA
创建一个子目录并向sources.list
其中添加新配置:
mkdir -p /etc/apt/sources.list.d
echo "deb [signed-by=/usr/local/share/keyrings/erlang.gpg] https://packages.erlang-solutions.com/ubuntu $(lsb_release -s -c) contrib" > /etc/apt/sources.list.d/erlang.list
注意add-apt-repository
目前不支持该[signed-by]
选项
此过程仅为该存储库设置密钥,限制了受损的第三方密钥影响不相关存储库的风险。