多年来(从 woody、IIRC 开始),我一直使用私有 Debian 存储库来管理(=安装一些软件包)我的所有服务器。
最近,我从 Jessie 换成了 Stretch。从那时起,Release.gpg 就不再被接受。
之前,以下内容运行得很好:
sudo apt-key adv --keyserver keys.gnupg.net--search-keys C9384E910F2B8604
在https://wiki.debian.org/DebianRepository/UseThirdParty我读到不得再使用这种方法——为什么?
因此,我尝试了那里提到的方法:
Types: deb URIs: http://debian.consecom.org/debian64/
Suites: consecom Architectures: i386 amd64 Components: config Signed-By: /etc/consecom/consecom-archive-keyring.gpg
然后我收到以下错误消息:
Ign:1 http://debian.consecom.org/debian64 consecom InRelease Get:2 http://debian.consecom.org/debian64 consecom Release [3,365 B] Get:3 http://debian.consecom.org/debian64 consecom Release.gpg [836 B] Get:4 http://security.debian.org stretch/updates InRelease [62.9 kB] Err:3 http://debian.consecom.org/debian64 consecom Release.gpg The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C9384E910F2B8604 ... W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://debian.consecom.org/debian64 consecom Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C9384E910F2B8604 W: Failed to fetch http://debian.consecom.org/debian64/dists/consecom/Release.gpg The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C9384E910F2B8604 W: Some index files failed to download. They have been ignored, or old ones used instead.
没有成功(请注意:我不使用 httpS,我将我的设置放在 /etc/consecom 中)。
因此我的问题是:将私有存储库从 Jessie 迁移到 Stretch 的最简单方法是什么?此外,由于这些软件包不包含二进制文件并且与 debian 版本无关,因此我需要从一个存储库为 jessie 和stretch 提供服务。
答案1
解决这个问题其实很简单:
- 使用 apt-key 认为可信的摘要(例如 SHA-256)重新签署发布文件
确定问题的原因是一件痛苦的事......
答案2
这取决于您一开始如何设置镜子。
我使用debmirror
shell 脚本来设置变量等,然后实际调用它。当我想添加拉伸时(随着发布候选日的开始),我只需添加对拉伸的引用到我的 shell 脚本变量。我必须在镜像服务器上导入 gnupg 密钥来解决 Mint 客户端的问题(我镜像 Mint、Debian 和 Ubuntu 以供实验室使用,因为我可以),但 Debian 没有问题。请注意,您必须手动创建(并在版本更改时更新)来自stable
->stretch
等的符号链接。