将我的所有第三方存储库 resources.list 迁移到 deb822 样式

将我的所有第三方存储库 resources.list 迁移到 deb822 样式

随着 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 或套件,只要它们都使用定义的公钥进行签名即可。

相关内容