Debian 10 -> 11 升级后 GPG 损坏

Debian 10 -> 11 升级后 GPG 损坏

刚刚将我的 Buster 服务器升级到 Debian 11 Bullseye。不过,gpg现在已经坏掉了。

  • apt update失败了Unknown error executing apt-key
  • apt-key --list失败了gpg: symbol lookup error: gpg: undefined symbol: gpgrt_set_confdir, version GPG_ERROR_1.0
  • 任何运行尝试gpg都会失败并出现上述错误。

GPG 是2.2.27-2+deb11u2来自 Debian Bullseye 官方存储库的版本。

网上发现的类似错误是关于从源代码构建 GPG 的,但是,我没有这样做,我只是从 Debian 存储库安装了二进制文件。

我尝试重新安装GPG相关的包没有效果。

我计划在这个问题解决后升级到 Debian 12,显然我现在不能这样做,因为无法验证包签名。

输出ldd /usr/bin/gpg

        linux-vdso.so.1 (0x00007ffdd2fbb000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc36ee46000)
        libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007fc36ee33000)
        libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007fc36ecf0000)
        libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007fc36ebd0000)
        libreadline.so.8 => /usr/local/lib/libreadline.so.8 (0x00007fc36eb79000)
        libassuan.so.0 => /usr/local/lib/libassuan.so.0 (0x00007fc36eb65000)
        libgpg-error.so.0 => /usr/local/lib/libgpg-error.so.0 (0x00007fc36eb41000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc36e96d000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc36e829000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc36e807000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc36e801000)
        libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007fc36e7d2000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc36ef7e000)

答案1

正如您所发现的,该错误是由以下库之一引起的:

        libreadline.so.8 => /usr/local/lib/libreadline.so.8 (0x00007fc36eb79000)
        libassuan.so.0 => /usr/local/lib/libassuan.so.0 (0x00007fc36eb65000)
        libgpg-error.so.0 => /usr/local/lib/libgpg-error.so.0 (0x00007fc36eb41000)

要解决此问题,您应该删除/usr/local/lib.当您执行此操作时,您可能想检查/usr/local/bin和中的其他文件/usr/local/lib;很可能有更多比 Debian 11 和 12 中的同等版本更旧的东西。

相关内容