所以我想我删除或损坏了我为 *.debian.org 拥有的 gpg 密钥,这使得apt-get update
产量
Ign http://ftp.fr.debian.org jessie InRelease
Réception de : 1 http://security.debian.org jessie/updates InRelease [63,1 kB]
Réception de : 2 http://ftp.debian.org jessie-backports InRelease [166 kB]
Réception de : 3 http://ftp.fr.debian.org jessie Release.gpg [2 434 B]
Ign http://security.debian.org jessie/updates InRelease
Réception de : 4 http://ftp.fr.debian.org jessie-updates InRelease [145 kB]
Ign http://security.debian.org jessie/updates/main Sources/DiffIndex
Ign http://ftp.debian.org jessie-backports InRelease
Ign http://security.debian.org jessie/updates/main amd64 Packages/DiffIndex
Err http://ftp.fr.debian.org jessie-updates InRelease
Réception de : 5 http://ftp.debian.org jessie-backports/main amd64 Packages/DiffIndex [27,8 kB]
Atteint http://ftp.fr.debian.org jessie Release
Ign http://ftp.fr.debian.org jessie Release
Réception de : 6 http://ftp.debian.org jessie-backports/contrib amd64 Packages/DiffIndex [25,3 kB]
Ign http://ftp.fr.debian.org jessie/main Sources/DiffIndex
Ign http://ftp.fr.debian.org jessie/main amd64 Packages/DiffIndex
Atteint http://security.debian.org jessie/updates/main Translation-en
Atteint http://security.debian.org jessie/updates/main Sources
Atteint http://security.debian.org jessie/updates/main amd64 Packages
Atteint http://ftp.debian.org jessie-backports/contrib Translation-en
Atteint http://ftp.fr.debian.org jessie/main Translation-fr
Atteint http://ftp.fr.debian.org jessie/main Translation-en
Ign http://security.debian.org jessie/updates/main Translation-fr_FR
Ign http://security.debian.org jessie/updates/main Translation-fr
Atteint http://ftp.debian.org jessie-backports/main Translation-en
Atteint http://ftp.fr.debian.org jessie/main Sources
Atteint http://ftp.fr.debian.org jessie/main amd64 Packages
Ign http://ftp.fr.debian.org jessie/main Translation-fr_FR
Ign http://ftp.debian.org jessie-backports/contrib Translation-fr_FR
Ign http://ftp.debian.org jessie-backports/contrib Translation-fr
Ign http://ftp.debian.org jessie-backports/main Translation-fr_FR
Ign http://ftp.debian.org jessie-backports/main Translation-fr
430 ko réceptionnés en 2s (175 ko/s)
Lecture des listes de paquets…
W: Erreur de GPG : http://security.debian.org jessie/updates InRelease : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY (SOME hexadecimals) NO_PUBKEY (SOME hexadecimals)
W: Erreur de GPG : http://ftp.debian.org jessie-backports InRelease : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY (SOME hexadecimals) NO_PUBKEY (SOME hexadecimals)
W: Une erreur s'est produite lors du contrôle de la signature. Le dépôt n'est pas mis à jour et les fichiers d'index précédents seront utilisés. Erreur de GPG : http://ftp.fr.debian.org jessie-updates InRelease : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY (SOME hexadecimals) NO_PUBKEY (SOME hexadecimals)
W: Erreur de GPG : http://ftp.fr.debian.org jessie Release : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY (SOME hexadecimals) NO_PUBKEY (SOME hexadecimals) NO_PUBKEY (SOME hexadecimals)
W: Impossible de récupérer http://ftp.fr.debian.org/debian/dists/jessie-updates/InRelease
W: Le téléchargement de quelques fichiers d'index a échoué, ils ont été ignorés, ou les anciens ont été utilisés à la place.
“Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible”大致翻译为“无法检查以下签名,因为公钥不可用”。
我怎样才能挽回这些错误?
更新:我做了
# wget http://ftp.fr.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2017.5~deb8u1_all.deb
# dpkg -i debian-archive-keyring_2017.5~deb8u1_all.deb
但什么都没有改变。我怀疑导致整个事情的原因是
# curl -s https://www.dotdeb.org/dotdeb.gpg | apt-key remove
删除几分钟前我刚刚添加的 gpg 密钥。
由于您已经重新安装了
debian-archive-keyring
软件包,实际的密钥文件现在应该就位了。但是重新安装未能将密钥重新添加为受信任的,可能是因为postinst
包中脚本中的某些条件似乎与从 Debian 挤压到 jessie 的迁移有关。您可能需要这样做(或非常类似的事情):
如果实际的密钥仍然丢失,蛮力的方法是手动提取包:
现在您绝对应该在目录中有密钥文件
/tmp/workdir/etc/apt/trusted.gpg.d/
。将它们复制到位,然后使用apt-key add
上面建议的命令。下载
debian-archive-keyring
(此链接到 Jessie 版本),并手动安装(以 root 身份):这将恢复密钥
/etc/apt/trusted.gpg.d
,您应该能够apt
再次运行。