Eu tentei excluir meu diretório .gnupg, mas o erro retornou.
Eu entendi isso:
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
Tentei seguir o conselho do erro e isso também não funciona. Tentei pesquisar no problema no Google, mas nada aparece para "lookup_hastable".
Também instalei o cavalo-marinho e tenho minhas chaves ssh armazenadas no cavalo-marinho. Poderia haver conflito acontecendo com cavalos-marinhos?
Estou fugindo gpg --gen-key
da minha conta de usuário normal e não estou tentando fazer nada sofisticado: basta criar uma chave gpg padrão.
gpg-agent
execução que está interferindo e que pode precisar ser eliminada?gpg --fix-trustdb
gpg-agent
será iniciado automaticamente ao realizar operações importantes com o GnuPG 2.1, como deveria. O problema era que você estava usando duas versões diferentes do GnuPG de uma só vez ou que alguma outra coisa modificou o conteúdo do.gnupg
diretório de uma maneira quegpg-agent
ficou confusa. Ao excluir o.gnupg
diretório, a execuçãogpg-agent
não o conhecia. Esse é um tipo de explicação "acenando a mão".Respostas:
Eu enfrentei um problema semelhante com a falha lookup_hashtable devido a isso
Unknown system error
.Achei que isso aconteceu depois de importar uma chave privada através do gpg (e não do gpg2) usando
gpg --allow-secret-key-import --import private.key
Depois de definir o nível de confiança após esta postagem , o erro desapareceu.
fonte
Eu tive o mesmo problema. O que é importante perceber é que existem duas versões principais do GnuPG ('classic' e 'stable', e também existe um 'modern'
2.1
):gpg
egpg2
(no Fedora Core elas são fornecidas por pacotesgnupg
egnupg2
respectivamente).Pesquisei
trustdb
bastante na Internet , removi~/.gnupg
, mas pude encontrar muito pouca informação e isso não ajudou.Como no repositório do SO havia uma versão antiga
gpg
, baixei um 'moderno'gpg
do site oficial. Houve um problema comlibgrypt
, eu precisava instalar uma versão mais recente da biblioteca paragpg
funcionar. Quando eu fiz isso manualmente, meu sistema se recusou a inicializar. Acho que vou consertar isso em breve, mas agora trabalho em outro laptop.Finalmente, percebi que havia um pacote
gnupg2
e usei o comando emgpg2
vez degpg
. Isso funcionou perfeitamente. Você pode definir uma festançaalias gpg=gpg2
em sua.bash_profile
se quiser esquecer os números em tudo.fonte