有两次,在一段时间(几天或几周)没有使用 GPG 后,它完全停止工作了。尝试使用它时,没有出现任何错误,它只是静止不动,直到我使用 ctrl-c 将其停止。如下所示:
➜ gpg -k
^C
gpg: signal Interrupt caught ... exiting
它的行为与我测试过的任何其他命令都相同。
第一次发生这种情况时,我最近遇到了一次崩溃,并认为这可能是导致错误的原因。我尝试了重新启动、重新安装以及大量看似相关的问题的解决方案,但唯一真正有效的方法是使用 homebrew 卸载 GPG,删除(移动)整个 ~/.gnupg 目录,然后重新安装 GPG。然后它正常工作,而且由于我拥有的唯一数据是一些测试密钥和签名,所以我不太在意丢失所有数据。
现在又发生了第二次,我有钥匙,我不想丢失,所以我正在寻找更好的解决方案。
经过完整调试后,输出如下所示:
➜ gpg -k --debug-level 9 --debug-all
gpg: reading options from '[cmdline]'
gpg: reading options from '/Users/markusvidefors/.gnupg/common.conf'
gpg: enabled debug flags: packet mpi crypto filter iobuf memory cache memstat trust ipc clock lookup extprog
gpg: enabled compatibility flags:
gpg: DBG: [no clock] start
gpg: using pgp trust model
^C
gpg: signal Interrupt caught ... exiting
答案1
我遇到了同样的问题,这是因为我的 ~/.gnupg/public-keys.d 文件夹中存在 .lock 文件
如果您删除 *.lock 文件,它将再次工作。
rm -rf ~/.gnupg/*.lock
rm -rf ~/.gnupg/public-keys.d/*.lock
当你的 Mac 崩溃时,可能会发生这种情况。