apt-key 命令:'--recv-key'、'--recv-keys' 和 '--recv' 选项之间有什么区别?

apt-key 命令:'--recv-key'、'--recv-keys' 和 '--recv' 选项之间有什么区别?

出于文档目的,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等价的。

相关内容