APT-KEY(8) 命令手册
名称
apt-key
- 已弃用的APT密钥管理工具
摘要
apt-key [--keyring filename] {add filename | del keyid | export keyid | exportall | list | finger | adv | update | net-update | {-v | --version} | {-h | --help}}
描述
apt-key
用于管理APT用于验证软件包的密钥列表。使用这些密钥验证的软件包将被认为是可信的。
apt-key
的使用已被弃用,除了在维护者脚本中使用apt-key del
来从主密钥环中移除现有密钥。如果需要使用apt-key
,还需要额外安装GNU隐私保护套件(包含在gnupg
包中)。
apt-key(8)
将在Debian 11和Ubuntu 22.04中不再可用。
支持的密钥环文件
apt-key
仅支持二进制OpenPGP格式(也称为“GPG公钥环”),文件扩展名为“gpg”,而不是较新版本的gpg(1)引入的keybox数据库格式作为默认的密钥环文件格式。因此,任何APT版本的二进制密钥环文件应始终使用gpg --export
创建。
另外,如果所有使用创建的密钥环的系统至少安装了apt版本1.4,您可以使用由gpg --armor --export
创建的ASCII编码格式和“asc”扩展名。
命令
add filename
(已弃用)
将新密钥添加到受信任密钥列表中。密钥从参数filename指定的文件中读取,如果filename是“-”,则从标准输入读取。
手动通过apt-key
添加的密钥必须经过验证,以确保它们属于它们声称的仓库的所有者,否则apt-secure(8)基础设施将完全受到破坏。
注意:而不是使用此命令,应将密钥环直接放置在/etc/apt/trusted.gpg.d/
目录中,并使用描述性名称以及“gpg”或“asc”作为文件扩展名。
del keyid
(大部分已弃用)
从受信任密钥列表中移除一个密钥。
export keyid
(已弃用)
将密钥keyid
输出到标准输出。
exportall
(已弃用)
将所有受信任的密钥输出到标准输出。
list
, finger
(已弃用)
列出带有指纹的受信任密钥。
adv
(已弃用)
向gpg传递高级选项。使用adv --recv-key
,例如,您可以直接从密钥服务器下载密钥到受信任的密钥集。注意,没有执行任何检查,因此如果不小心使用,很容易完全破坏apt-secure(8)基础设施。
update
(已弃用)
使用存档密钥环更新本地密钥环,并从本地密钥环中移除不再有效的存档密钥。存档密钥环包含在您发行版的存档密钥环包中,例如Ubuntu中的ubuntu-keyring包。
注意,发行版不需要也不应该再使用此命令,而是直接在/etc/apt/trusted.gpg.d/
目录中分发密钥环文件,因为这样可以避免依赖于gnupg,并且对于维护者和用户来说,通过简单地添加和删除文件来管理密钥更容易。
net-update
(已弃用)
执行更新,类似于上面的更新命令,但是从URI获取存档密钥环并用主密钥验证它。这需要安装了wget(1),并且APT构建配置为有服务器可以获取和主密钥环可以验证。APT在Debian中不支持此命令,而是依赖于update,但Ubuntu的APT支持。
选项
注意,选项需要在前一节中描述的命令之前定义。
--keyring filename
(已弃用)
使用此选项,可以指定特定密钥环文件,命令应在其上操作。默认情况下,命令会在trusted.gpg文件以及trusted.gpg.d目录中的所有部分上执行,尽管trusted.gpg是主密钥环,这意味着例如新密钥将被添加到此密钥环中。
弃用
除了在维护者脚本中使用apt-key del
,apt-key
的使用已被弃用。本节显示了如何替换现有的apt-key
使用。
如果您现有的apt-key add
使用如下:
wget -qO- https://myrepo.example/myrepo.asc | sudo apt-key add -
那么您可以直接替换为(尽管请注意下面的推荐):
wget -qO- https://myrepo.example/myrepo.asc | sudo tee /etc/apt/trusted.gpg.d/myrepo.asc
确保对ASCII编码密钥使用“asc”扩展名,对二进制OpenPGP格式(也称为“GPG公钥环”)使用“gpg”扩展名。二进制OpenPGP格式适用于所有APT版本,而ASCII编码格式适用于APT版本>= 1.4。
推荐:而不是将密钥放入/etc/apt/trusted.gpg.d
目录,您可以将它们放在文件系统的任何位置,通过在sources.list中使用Signed-By选项并指向密钥文件的名称。有关详细信息,请参见sources.list(5)。自APT 2.4起,/etc/apt/keyrings被提供为推荐位置,用于存储不被包管理的密钥。当使用deb822风格的sources.list,并且APT版本>= 2.4时,Signed-By选项也可以用于直接在sources.list中包含完整的ASCII编码密钥环,而不需要额外的文件。
文件
/etc/apt/trusted.gpg
本地受信任密钥的密钥环,新密钥将被添加到这里。配置项:Dir::Etc::Trusted。
/etc/apt/trusted.gpg.d/
受信任密钥的文件片段,其他密钥环可以存储在这里(由其他包或管理员)。配置项:Dir::Etc::TrustedParts。
/etc/apt/keyrings/
存储附加密钥环的位置,用于Signed-By。
另见
apt-get(8), apt-secure(8)
错误
APT错误页面[1]。如果您希望报告APT中的错误,请参见/usr/share/doc/debian/bug-reporting.txt或reportbug(1)命令。
作者
APT由APT团队编写 apt@packages.debian.org。
作者
Jason Gunthorpe
APT团队
注释
- APT错误页面
http://bugs.debian.org/src:apt
APT 2.4.12 2022年2月22日 APT-KEY(8)