k0p*_*kus 5 apt ppa gnupg docker
正如这里所指出的,我正在改变在一堆机器上安装 docker 的方式。它在一个上运行良好,但这个行为很奇怪。
我已经导入了密钥:
sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.uUGtmucAUd --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/atareao-telegram.gpg --keyring /etc/apt/trusted.gpg.d/neovim-ppa-unstable.gpg --keyring /etc/apt/trusted.gpg.d/nilarimogard-webupd8.gpg --keyring /etc/apt/trusted.gpg.d/ondrej-php-7_0.gpg --keyring /etc/apt/trusted.gpg.d/shutter-ppa.gpg --keyring /etc/apt/trusted.gpg.d/trustdb.gpg --keyring /etc/apt/trusted.gpg.d/trusted.gpg --keyring /etc/apt/trusted.gpg.d/vincent-c-ponysay.gpg --keyring /etc/apt/trusted.gpg.d/webupd8team-y-ppa-manager.gpg --keyring /etc/apt/trusted.gpg.d/xorg-edgers-ppa.gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
gpg: requesting key 2C52609D from hkp server pgp.mit.edu
gpg: [don't know]: invalid packet (ctb=01)
gpg: keydb_get_keyblock failed: eof
gpg: key 2C52609D: public key "Docker Release Tool (releasedocker) <docker@docker.com>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
Run Code Online (Sandbox Code Playgroud)
但仍然sudo apt-get update因丢失密钥而失败:
w: GPG error: https://apt.dockerproject.org ubuntu-trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F76221572C52609D
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我还尝试了当前提供的答案,但是在删除了 trust.gpg 文件后,我无法添加密钥
root@fluttershy:/etc/apt# rm trusted.gpg
root@fluttershy:/etc/apt# apt-key update
gpg: [don't know]: invalid packet (ctb=01)
gpg: keydb_get_keyblock failed: eof
gpg: key 437D05B5: public key "Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>" imported
gpg: [don't know]: invalid packet (ctb=01)
gpg: keydb_get_keyblock failed: eof
gpg: key FBB75451: public key "Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>" imported
gpg: [don't know]: invalid packet (ctb=01)
gpg: keydb_get_keyblock failed: eof
gpg: key C0B21F32: public key "Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>" imported
gpg: [don't know]: invalid packet (ctb=01)
gpg: keydb_get_keyblock failed: eof
gpg: key EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>" imported
gpg: Total number processed: 4
gpg: imported: 4 (RSA: 2)
root@fluttershy:/etc/apt#
Run Code Online (Sandbox Code Playgroud)
gpg 失败invalid packet (ctb=01)/ keydb_get_keyblock failed: eof。这通常意味着您的 GPG 钥匙圈已损坏。解决问题的最快方法是删除它,或从备份中恢复它。
这里有一些方便的命令供您使用:
列出当前在 APT 密钥环中的所有密钥:
apt-key list
Run Code Online (Sandbox Code Playgroud)trusted.gpg从 APT 自动备份恢复:
cp /etc/apt/trusted.gpg{~,}
Run Code Online (Sandbox Code Playgroud)要trusted.gpg使用 Ubuntu 存档的密钥删除并重新创建它:
rm /etc/apt/trusted.gpg
apt-key update
Run Code Online (Sandbox Code Playgroud)在我使用过的所有命令中/etc/apt/trusted.gpg,但要注意里面可能还有其他钥匙圈/etc/apt/trusted.gpg.d/。
APT 同时使用所有密钥环,正如您通过检查输出可以看到的:
Executing: gpg [...] \
--keyring /etc/apt/trusted.gpg \
--primary-keyring /etc/apt/trusted.gpg \
--keyring /etc/apt/trusted.gpg.d/atareao-telegram.gpg \
--keyring /etc/apt/trusted.gpg.d/neovim-ppa-unstable.gpg \
--keyring /etc/apt/trusted.gpg.d/nilarimogard-webupd8.gpg \
[...]
Run Code Online (Sandbox Code Playgroud)
一个损坏的钥匙圈让 GPG 伤心,而且没有一个钥匙圈(即使是好的)是可信的。结果,没有考虑任何键。
| 归档时间: |
|
| 查看次数: |
23283 次 |
| 最近记录: |