出于文档目的,apt-key
我在很多地方发现了有关该命令的以下两种变体:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys PUBKEY
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv PUBKEY
--recv-keys
观察最新选项和的区别--recv
。关于Ubuntu的man
官方jammy apt-key(8)仅提及:
adv (deprecated)
Pass advanced options to gpg. With adv **--recv-key** you can e.g. download key from
keyservers directly into the trusted set of keys. Note that there are no checks
performed, so it is easy to completely undermine the apt-secure(8) infrastructure if
used without care.
和现在从上面看到其他选项--recv-key
(不同之处在于--recv-keys
- 它以s)
并且在jammy gpg(1)仅提及:
--recv-keys keyIDs
Import the keys with the given keyIDs from a keyserver.
观察在所提到的中,man
该术语作为其他选项的内容出现--recv-key
,但它本身并不作为选项定义存在。(考虑使用ctrl+f键使用--recv
搜索词进行搜索,因为有一行该--recv-key
术语分为两行。)
问题
--recv-key
、--recv-keys
和选项之间有什么区别--recv
?
如果存在这 3 个选项,则每个选项都有特定的用途。
答案1
从文档中看不出来,但 gpg 是那些可以传递选项唯一前缀而不必完整输入的命令之一。如果您有两个选项,例如:
--some-long-option
--some-other-long-option
--some-l
那么,--some-lo
、 、 等中的任何一个--some-lon
都足以将其与 区分开来--some-other-long-option
。因此,您可以使用这些缩写形式,而不必总是使用--some-long-option
。
这是默示但是,根据文档,其中说“该选项不能缩写” gpg.conf
(并且其他一些选项如--help
,--version
等也不能缩写)。
--recv
所以和三个--recv-key
都是--recv-keys
等价的。