Debian/libcurl 使用 gpg 时出现错误

Debian/libcurl 使用 gpg 时出现错误

我正在尝试使用 gpg 注册一个密钥,以便使用 aptitude 升级我的 debian 系统。系统是 Debian 4.0 32 位。

不幸的是,我遇到了错误。这是我尝试的:

gpg --keyserver pgp.mit.edu --recv-keys [KEY]

错误:

error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
gpg: requesting key 473041FA from hkp server pgp.mit.edu
gpg: no handler for keyserver scheme `hkp'
gpg: keyserver receive failed: keyserver error

搜索 libcurl.so.4 我发现:

/src/curl/curl-7.16.4/lib/.libs/libcurl.so.4
/src/curl/curl-7.16.4/lib/.libs/libcurl.so.4.0.0
/usr/local/lib/libcurl.so.4
/usr/local/lib/libcurl.so.4.0.0

编辑:

/etc/ld.so.conf 只有一个条目:

include /etc/ld.so.conf.d/*.conf


ls -la /usr/local/lib/libcurl*

返回

-rw-r--r-- 1 root staff 5231754 2007-07-19 21:46 /usr/local/lib/libcurl.a
-rwxr-xr-x 1 root staff     828 2007-07-19 21:46 /usr/local/lib/libcurl.la
lrwxrwxrwx 1 root staff      16 2007-07-19 21:46 /usr/local/lib/libcurl.so -> libcurl.so.4.0.0
lrwxrwxrwx 1 root staff      16 2007-07-19 21:46 /usr/local/lib/libcurl.so.4 -> libcurl.so.4.0.0
-rwxr-xr-x 1 root staff 2512584 2007-07-19 21:46 /usr/local/lib/libcurl.so.4.0.0

答案1

/src 文件夹是什么?/usr/local 中的 lib 是什么?

看来这个安装严重搞砸了。

因此,最简单的选择似乎是:如果您已经想升级系统,请使用 squeeze 或 wheezy 进行全新安装。不要混合手动安装的库和包管理器安装的库。

另一种方法是使用 来修复您的安装aptitude。这个很难说。

确保您的 sources.list 包含正确的条目,如有必要,升级您的系统或重新安装软件包。


据我回忆,不建议使用 pgp.mit.edu x-hkp://sks.pkqs.net。看看http://sks.pkqs.net:11371/

答案2

您安装了冲突版本的 libcurl。这种情况通常发生在您手动编译 curl 并在那里获得 libcurl 形式,而 apt 会下载另一个 libcurl 形式的存储库,因为它不知道手动编译。
要解决这个问题,您需要删除其中一个 libcurl。通过 apt 卸载或从所有环境变量中删除源编译的 libcurl 的路径。

相关内容