我尝试删除 .gnupg 目录,但错误再次出现。
我明白了:
gpg: lookup_hashtable failed: eof
gpg: lookup_hashtable failed: eof
gpg: upd_hashtable: read failed: eof
gpg: trust record 2, type 12: write failed: eof
gpg: Error: The trustdb is corrupted.
gpg: You may try to re-create the trustdb using the commands:
gpg: cd ~/.gnupg
gpg: gpg2 --export-ownertrust > otrust.tmp
gpg: rm trustdb.gpg
gpg: gpg2 --import-ownertrust < otrust.tmp
gpg: If that does not work, please consult the manual
我尝试遵循错误抛出的建议,但这也不起作用。尝试用谷歌搜索问题,但没有找到“lookup_hastable”的结果。
我还安装了 Seahorse 并将我的 ssh 密钥存储在 Seahorse 中。会不会和海马发生冲突?
我gpg --gen-key
从我的普通用户帐户运行,并没有尝试做任何花哨的事情:只是创建一个标准的 gpg 密钥。
答案1
我遇到了类似的问题,lookup_hashtable 失败了Unknown system error
。
我认为这是在通过 gpg (而不是 gpg2)导入私钥后发生的gpg --allow-secret-key-import --import private.key
设置信任级别后如下这个帖子,错误消失了。
答案2
我有同样的问题。重要的是要认识到,有两个主要版本GnuPG(“经典”和“稳定”,还有“现代” 2.1
):gpg
和(在 Fedora Core 上,它们分别由软件包和gpg2
提供)。gnupg
gnupg2
我在互联网上进行了trustdb
广泛的搜索,删除了~/.gnupg
,但找到的信息很少,但这没有帮助。
由于我的操作系统存储库中有旧版本的,我从官方网站gpg
下载了“现代”版本。gpg
有一个问题libgrypt
,我需要安装更新的库版本才能gpg
工作。当我手动执行此操作时,我的系统根本无法启动。我想我很快就会解决这个问题,但现在我用另一台笔记本电脑工作。
最后我意识到有一个包gnupg2
,我使用了命令gpg2
而不是gpg
.这工作完美无缺。如果你想完全忘记数字,你可以alias gpg=gpg2
在你的程序中设置一个bash 。.bash_profile