Trusted.gpg.d 中 APT 的附加密钥环

kol*_*pto 18 apt repository

我正在创建一个包,它将自动将一些存储库安装到 LAN 中的所有主机。可以从中央存储库访问该包。

我发现 repo 列表可以放在“/etc/apt/sources.list.d/*.list”中。现在我需要导入他们的密钥,例如,这个。但是,当我将其放入“/etc/apt/trusted.gpg.d/Opera.gpg”时,apt-get update我拥有的所有存储库(包括 Opera)都会出现大量NO_PUBKEY错误!

怎么了?:)

kol*_*pto 23

从存储库下载的密钥应连接到新的 GPG 密钥环中,以便您可以将它们放入“/etc/apt/trusted.gpg.d/*.gpg”,如下所示:

gpg --no-default-keyring --keyring ./Opera.gpg --import Opera.key
sudo cp Opera.gpg /etc/apt/trusted.gpg.d/Opera.gpg
Run Code Online (Sandbox Code Playgroud)

  • 不起作用,无论是版本 gpg 1.4.x 还是 2.1:`gpg: keyblock resource './Opera.gpg': file open error` 和 `gpg: no writable keyring found: eof`。为了让它工作,你需要**先做:`touch Opera.gpg`** (2认同)

小智 15

您实际上可以两全其美:创建一个额外的钥匙圈/etc/apt/trusted.gpg.d/并使用apt-key而不是gpg直接使用。

如果您在本地已有密钥文件,例如Opera.key,则运行以下命令:

sudo apt-key --keyring /etc/apt/trusted.gpg.d/Opera.gpg add Opera.key
Run Code Online (Sandbox Code Playgroud)

当然,您仍然可以像 MestreLion 演示的那样直接导入密钥:

wget -q -O - http://deb.opera.com/archive.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/Opera.gpg add -
Run Code Online (Sandbox Code Playgroud)