升级后 GPG 无法再解密文件

GPG cannot decrypt files anymore after upgrade

我最近从 Ubuntu 16.04 升级到 18.04,其中 gpg 从 0.5.0 升级到 0.6.0。自那次升级后,我的 GPG 无法再解密文件:

mst@mst-nb1:~$ gpg --list-keys
/home/mst/.gnupg/pubring.kbx
----------------------------
pub   rsa4096 2016-03-13 [SC]
      6C6AE8C5E06D2AEF8FABE9C11EBC1C55E2D201A2
uid           [ultimate] Mauro Stettler <mauro.stettler@gmail.com>
sub   rsa4096 2016-03-13 [E]

mst@mst-nb1:~$ gpg --list-secret-keys
/home/mst/.gnupg/pubring.kbx
----------------------------
sec   rsa4096 2016-03-13 [SC]
      6C6AE8C5E06D2AEF8FABE9C11EBC1C55E2D201A2
uid           [ultimate] Mauro Stettler <mauro.stettler@gmail.com>
ssb   rsa4096 2016-03-13 [E]

mst@mst-nb1:~$ gpg -e -r 6C6AE8C5E06D2AEF8FABE9C11EBC1C55E2D201A2 abc
mst@mst-nb1:~$ gpg -d -u 6C6AE8C5E06D2AEF8FABE9C11EBC1C55E2D201A2 abc.gpg 
gpg: encrypted with 4096-bit RSA key, ID 8786533A08A9D4AD, created 2016-03-13
      "Mauro Stettler <mauro.stettler@gmail.com>"
gpg: public key decryption failed: End of file
gpg: decryption failed: No secret key

我已经尝试擦除我的 ~/.gnupg 文件夹并重新导入密钥,但问题仍然存在。

经过反复试验,我发现了问题所在:

我已经安装了 libtinfo5 的自建版本。显然系统更新导致这个库不再正常工作,因为它是为旧系统构建的。一旦我删除了自定义构建的文件并从 apt 重新安装了 libtinfo5,一切又恢复正常了。