我正在尝试nanomsg
从反向移植jessie
到squeeze
。但是当我运行:
dget http://http.debian.net/debian/pool/main/n/nanomsg/nanomsg_0.4~beta+dfsg-3.dsc
它说:
dscverify: nanomsg_0.4~beta+dfsg-3.dsc failed signature check:
gpg: Signature made Fri 29 Aug 2014 09:49:58 PM EEST using RSA key ID 864CC8BF
gpg: Can't check signature: public key not found
Validation FAILED!!
我看到有人建议debian-keyring
从该特定版本安装,方法是将相应的行添加到sources.list
和APT::Default-Release "stable";
到apt.conf
。但我担心它会用来自其他版本的软件包污染我的系统。
如果我们在这里讨论squeeze
。我不能放进stable
去apt.conf
,可以吗?因为现在stable
是jessie
。如果我放在squeeze
那里,这是升级时不要忘记的另一件事debian
。
如果我可以安全地debian-keyring
从中下载jessie
并添加keyring /path/to/debian-keyring.gpg
到~/.gnupg/gpg.conf
(或环境DSCVERIFY_KEYRINGS
?)来使其工作。这可能吗?我该如何解决这个问题?
答案1
您可以轻松地从 jessie 下载 debian-keyring 包,然后使用 进行安装dpkg -i debian-keyring*deb
。但是,该方法有缺点:
- 没有自动更新
- 无 gpg 验证
如果您想要这些,则需要使用 apt 来安装软件包。使用确实是一种选择;另一个是 apt pinning。创建具有以下内容的APT::Default-Release
文件:/etc/apt/preferences.d/99-keyring
Package: debian-keyring
Pin: release n=jessie
Pin-Priority: 600
Package: *
Pin: release n=jessie
Pin-Priority: 50
这将告诉您的系统您想要从 jessie 中提取软件包debian-keyring
,但其他所有内容都来自您的正常发行版。如果您不想使用代码名称,而是想使用符号名称,请更改Pin: release n=jessie
为Pin: release a=stable
。
查看man apt_preferences
完整的故事,包括如何APT::Default-Release
与所有这些联系起来。
警告:如果使用不当,apt pinning 可能会导致系统在两个版本之间升级到一半。上述示例应该是安全的,但不要将其用于特定于体系结构的软件包。