car*_*mas 6 linux installation ubuntu curl libcurl
我使用的是 Ubuntu 14.04,需要curl 版本> 7.40,因此我按照一些步骤安装了最新的curl 版本(7.48)
作为根用户
wget http://curl.haxx.se/download/curl-7.48.0.tar.gz
apt-get install libtool
apt-get install make
Run Code Online (Sandbox Code Playgroud)
提取文件
tar -xvf curl-7.48.0.tar.gz
Run Code Online (Sandbox Code Playgroud)
然后在提取的文件夹中:
./buildconf
./configure
make
make install
Run Code Online (Sandbox Code Playgroud)
更新了二进制文件
mv /usr/bin/curl /usr/bin/curl.bak
cp /usr/local/bin/curl /usr/bin/curl
Run Code Online (Sandbox Code Playgroud)
然后重新启动机器。我可以看到新的curl版本,但libcurl库没有更新,仍然是7.35
根:〜#curl -Vcurl 7.48.0(x86_64-unknown-linux-gnu)libcurl / 7.35.0, OpenSSL / 1.0.1f zlib / 1.2.8 libidn / 1.28 librtmp / 2.3 协议: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp 功能: 异步 DNS IDN IPv6 大文件 NTLM NTLM_WB SSL libz TLS-SRP
我已经检查了文件 /etc/ld.so.conf 但它没有给我太多信息
include /etc/ld.so.conf.d/*.conf
Run Code Online (Sandbox Code Playgroud)
还有文件夹:
root:/etc/ld.so.conf.d# ll
total 52
drwxr-xr-x 2 root root 4096 Feb 18 14:17 ./
drwxr-xr-x 167 root root 12288 Apr 26 14:30 ../
-rwxr-xr-x 1 root root 26 Nov 21 2007 agnclient-compat.conf*
-rw-r--r-- 1 root root 14 Aug 24 2009 agns.conf
-rw-rw-r-- 1 root root 38 Mar 24 2014 fakeroot-x86_64-linux-gnu.conf
lrwxrwxrwx 1 root root 40 Feb 5 16:42 i386-linux-gnu_GL.conf -> /etc/alternatives/i386-linux-gnu_gl_conf
-rw-r--r-- 1 root root 108 Apr 12 2014 i686-linux-gnu.conf
-rw-r--r-- 1 root root 44 Aug 9 2009 libc.conf
-rw-r--r-- 1 root root 33 Aug 1 2014 symav.conf
-rw-r--r-- 1 root root 68 Apr 12 2014 x86_64-linux-gnu.conf
lrwxrwxrwx 1 root root 43 Feb 3 12:05 x86_64-linux-gnu_EGL.conf -> /etc/alternatives/x86_64-linux-gnu_egl_conf
lrwxrwxrwx 1 root root 42 Feb 3 12:05 x86_64-linux-gnu_GL.conf -> /etc/alternatives/x86_64-linux-gnu_gl_conf
-rw-r--r-- 1 root root 56 Apr 12 2014 zz_i386-biarch-compat.conf
-rw-r--r-- 1 root root 58 Apr 12 2014 zz_x32-biarch-compat.conf
root:/etc/ld.so.conf.d#
Run Code Online (Sandbox Code Playgroud)
浏览每个conf文件我发现了3个地方有libcurl库
在/usr/lib/agnclient-compat下(agnclient 是 AT&T VPN 代理客户端)
lrwxrwxrwx 1 root root 16 Feb 3 12:11 libcurl.so.3 -> libcurl.so.3.0.0
-rw-r--r-- 1 root root 248028 Nov 21 2007 libcurl.so.3.0.0
Run Code Online (Sandbox Code Playgroud)
在/usr/local/lib下
lrwxrwxrwx 1 root root 16 Apr 25 12:34 libcurl.so -> libcurl.so.4.4.0*
lrwxrwxrwx 1 root root 16 Apr 25 12:34 libcurl.so.4 -> libcurl.so.4.4.0*
-rwxr-xr-x 1 root root 376889 Apr 25 12:34 libcurl.so.4.4.0*
Run Code Online (Sandbox Code Playgroud)
并在/usr/lib/x86_64-linux-gnu下
lrwxrwxrwx 1 root root 19 Jan 26 20:05 libcurl-gnutls.so.3 -> libcurl-gnutls.so.4
lrwxrwxrwx 1 root root 23 Jan 26 20:05 libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.3.0
-rw-r--r-- 1 root root 401512 Jan 26 20:05 libcurl-gnutls.so.4.3.0
lrwxrwxrwx 1 root root 12 Jan 26 20:05 libcurl.so.3 -> libcurl.so.4
lrwxrwxrwx 1 root root 16 Jan 26 20:05 libcurl.so.4 -> libcurl.so.4.3.0
-rw-r--r-- 1 root root 422696 Jan 26 20:05 libcurl.so.4.3.0
Run Code Online (Sandbox Code Playgroud)
因此,我昨天安装的最新库位于 /usr/local/lib 下,但它从 VPN 客户端加载该库。
更新后很容易修复。
我修改了文件/etc/ld.so.conf
include /usr/local/lib
include /etc/ld.so.conf.d/*.conf
Run Code Online (Sandbox Code Playgroud)
然后执行
ldconfig -v
Run Code Online (Sandbox Code Playgroud)
现在我有了我需要的东西
root@carlo-ThinkPad-W541:~#curl -Vcurl 7.48.0 (x86_64-unknown-linux-gnu) libcurl/7.48.0 zlib/1.2.8 协议: dict file ftp gopher http imap pop3 rtsp smtp telnet tftp 特性: IPv6 大文件 libz UnixSockets
| 归档时间: |
|
| 查看次数: |
3045 次 |
| 最近记录: |