web-dev-qa-db-ja.com

gnupg:gpg --gen-keyでエラーが発生する

.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」には何も起こりません。

タツノオトシゴもインストールし、sshキーをタツノオトシゴに保存しました。タツノオトシゴと競合する可能性はありますか?

私は走っているgpg --gen-key私の通常のユーザーアカウントから、特別なことは何もしようとせず、標準のgpgキーを作成します。

8
bitofagoob

代わりに、Unknown system errorが原因でlookup_hashtableが失敗するという同様の問題に直面しました。

gpg --allow-secret-key-import --import private.keyを使用してgpg(gpg2ではなく)を介して秘密鍵をインポートした後に発生したと考えました

この投稿 の後に信頼レベルを設定した後、エラーはなくなりました。

2
Vijay Agrawal

同じ問題がありました。知っておくべき重要なことは、GnuPGの 2つの主なバージョン があることです(「クラシック」と「安定」、そして「モダン」2.1)があります:gpgおよびgpg2(Fedora Coreでは、パッケージgnupgおよびgnupg2によってそれぞれ提供されます)。

私はインターネットでtrustdbについて広範囲に検索し、~/.gnupgを削除しましたが、情報がほとんど見つからなかったため、役に立ちませんでした。

私のOSリポジトリには古いバージョンのgpgがあったため、公式サイトから「最新」のgpgをダウンロードしました。 libgryptに問題がありました。gpgを機能させるには、新しいバージョンのライブラリをインストールする必要がありました。私が手動でそれをしたとき、私のシステムはまったくブートすることを拒否しました。すぐに修正すると思いますが、今は別のラップトップで作業しています。

最後に、gnupg2というパッケージがあることに気付き、gpgではなくgpg2コマンドを使用しました。それは完璧に機能しました。数字をすべて忘れたい場合は、alias gpg=gpg2にbash .bash_profileを設定できます。

0