如何看看git二进制文件是使用openssl还是gnutls?

问题描述 投票:3回答:1

我正在尝试使用Ubuntu和公司代理来调试一个特定仓库的git clone,https协议的一个奇怪问题。同样的事情在CentOS,Fedora发行版中有效,但在我们的环境中不适用于Ubuntu或Debian。

显然在Ubuntu包中git使用gnutls,但在其他平台上使用openssl。然而,根据this,即使在Ubuntu上,也可以使用openssl。

有没有办法让我从给定的git安装中检查二进制文件使用哪一个?有些输出可以告诉我吗?

These questions是相关的,但两者都谈论改变运行时或构建时间 - 此时我只需要关于它是哪一个的信息。

git ubuntu ubuntu-14.04
1个回答
3
投票
$ cd /usr/lib/git-core
$ ./git --version
git version 1.9.1
$ ldd git-http-fetch | grep libcurl
    libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f8d5dcdf000)

$ cd /usr/libexec/git-core
$ ./git --version
git version 2.8.1
$ ldd git-http-fetch | grep libcurl
    libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f6bd1e42000)

显然,我的操作系统提供的版本和我自编的版本都是针对gnutls的。

编辑:这是openssl输出在运行相同命令时的样子,没有libcurl-gnutls,但是

libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007fe96267e000)

编辑2:看看this answer,似乎git在运行时只是使用系统设置使用的任何libcurl,所以我的问题有点误导。无论如何,这个答案是正确的,因为它会告诉我们正在使用哪一个。

© www.soinside.com 2019 - 2024. All rights reserved.