随着 apt-key 的贬值以及 /etc/apt/trusted.gpg,我决定将所有存储库更改为下一个我不必触及的东西。我不想将文件放在 trust.gpg.d 中,因为根据手册,它是为软件包使用而保留的。那么,我该如何创建我的 deb822 源文件呢?
答案1
我建议对存储库定义和伴随的公钥使用单个文件。这需要 apt 版本为 2.3.10 或更高版本。这意味着新文件所在的唯一目录是sources.list.d/。 deb822 格式具有与单行相同的信息,但采用键:值格式,如 YALM。以下是使用 Spotify 的 Debian 存储库的示例:
deb http://repository.spotify.com stable non-free
变成
Enabled: Yes
Types: deb
URIs: http://repository.spotify.com
Suites: stable
Components: non-free
Signed-By:
-----BEGIN PGP PUBLIC KEY BLOCK-----
.
mQINBGF5YIABEACnop+0P287u+2dzExoGpe109KHHd1eaj/ULDQZz0A47qJYaOld
pGqsRq6EUbzrVxGaAsSDfCwlQ4hutP9uH0ekdIr+/te6pbrYYiUvAUthibbq0mm7
zhpIa8saXLLyImygrPgZpfY3X8l4uWG33hMeU7OHOfReZzycfVxAzENlkomejP+W
wvzliqz+TYWO7esh730hud0tFYzQjmRtL3UGIFI5sCJkR1NzMqHup/PW4BYM1zZu
vXPGqyCLaoPV8WQz2Uq5DnX+wmTi2+s/42XbMGzyJVqXx8tjMBQlRHFpvjV1FfYc
s7niQRnwz6wAZTitIgBYBPAPbGEIE2bi+Njur/z9ys3/Zp5CZOpKkF7TzW39tgvN
ITq7oTO8DszCfVNrWARBOrWPy3NuAA9xvH1BWdZ7iaVP5UcAaHPG5rg3QGBGJ1HE
UDYBDnr5GNlBvuv53MqwaThGRAwNyajO78JYuOFfz+DkvgJg9tMITThG3gpfek9Z
TyHdN1/xZKQziMXNEgcx5CLJMoUCEMiAMKOB+Tng9HQzeCbOLTgugfzGrg2lRTnB
Vy9o9SxuVBc5nCR1LbfpeDv+MVduYM6aZAFBHA0h8bc5svCMYHyyrfaigb75c/4q
tg/Lg8GIhStw1za0bdxF8N6yPZvWztQfoQqTnTpldxLc4gkYjYE4IVKfowARAQAB
tDdTcG90aWZ5IFB1YmxpYyBSZXBvc2l0b3J5IFNpZ25pbmcgS2V5IDx0dXhAc3Bv
dGlmeS5jb20+iQJUBBMBCAA+FiEE+aIRl27WYvAOWTYeXjxF17MSxkMFAmF5YIAC
GwMFCQJRQwAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQXjxF17MSxkOYbQ//
VgFX2fJTUPAPR4oa79DJi0255lXhv6ZXDW/Yv6W4ycu1iIEXbDYNqBqhL1zwdphk
Pg49LC0NkVWP3/n5WvbmJP7gfyl344ZPVeaz23ISFM8J9WlxuBonA/KSw7OCkf1+
b+TxDb8An29hMAknwAQnLZGCoEroe3BPn9qmpbIBkkoRHFWCOAjdY98Arbq19s2k
68wSeiGS+DcCvDOhnPxbf8M16cew/LDFpFAmbT7HhaFwN4VTLTa4gA3X9csGXMts
jBqgk2NggoYu1ZF5P3Vt0HzqjaSlLgFe3c+HEZELPMES/zRtxO1VJv5cA9CjYu3c
ldRlLdY35Y3CeEVzfqq6D8G1av1zpNDXjBk6zr9ZPeu1k5zOpxN008CshF82MZDd
ymhbb/LMoY4OR1UwFPA8DwJGUE2Nb0PBrAKxpSQFuxM/iQsw1r362ZM6O3Kwyu3Y
pCEKlbuYKKBnsBRwLY1KjhXh9ngqjxSoudwZSUtpRXp7O9SoFvUgdYsCRJuSrq/2
qYkYgkXb9XaX1nh52tYPt50mNlceybVaKb5lDoBE6clWlBKasPAyLvjxV5RrBAKf
adxHn0judK6HunANmZbMV4fkO7MhtyletK88dWKKgtLkVTSnoXz0xYe04LPUHDo+
VhHeq7s/LpSTlMRs/WeB/Arue2+XuXfVEVdtDi7Mg/Q=
=GrS9
-----END PGP PUBLIC KEY BLOCK-----
签名的公钥需要单个空格前缀才能被识别为上述内容的一部分,否则无法识别的行将被忽略。确保钥匙是 ASCII 铠装的。如果您有无装甲的,只需使用gpg --keyring=/public/key.gpg --armor --export <fingerprint>
.如果您已经将它们添加到您的 trust.gpg 中,请像这样导出它gpg --keyring=/etc/apt/trusted.gpg --export --armor 177F4010FE56CA3336300305F1656F24C74CD1D8
,然后使用 删除它们sudo gpg --keyring=/etc/apt/trusted.gpg --delete-keys 177F4010FE56CA3336300305F1656F24C74CD1D8
。
我故意按照你习惯的顺序排列这些节。如果单线样式中有拱形选项,则必须使用“Architectures:”来定义它们。所有以复数结尾的节都接受多个元素。您可以添加更多 uri 或套件,只要它们都使用定义的公钥进行签名即可。