1、前言
Centos 7.9,由于系统为2017年发行,且以稳定性为主,部分工具版本较低,无法支持一些新的功能。如curl就相对较旧,默认为7.29版本,且无法从其他额外的镜像源获取到更新的版本,这就导致新的功能如–-connect-to
参数(在7.49版本后开始支持)无法正常使用,此参数可以用来指定请求的地址。
2、curl源代码下载
打开官方下载页面:https://curl.se/download.html
找到最新的版本:
也可以下拉到package栏选择其他版本:
鼠标右键复制链接地址:
传输到Linux设备本地:
wget /usr/local/src/curl https://curl.se/download/curl-8.7.1.tar.gz
下载完成之后,对其进行解压:
tar -zxvf curl-8.7.1.tar.gz
解压之后移动到对应路径:
3、openssl安装
为了使curl能支持ssl功能,需要提前安装openssl,执行下列指令进行安装:
yum install -y openssl
4、编译curl
4.1、配置编译环境
在安装完成openssl之后,进入到对应curl源码目录下:
cd /usr/local/src/curl/curl-8.7.1
执行下列指令配置编译环境:
# 配置编译参数:/usr/local为指定的安装路径,--with-ssl表示需要支持ssl
./configure --prefix=/usr/local --with-ssl
编译配置完毕执行如下:
**注:**一定要提前安装openssl,否则在配置的过程中会出现无法找到openssl的错误。
configure: error: --with-openssl was given but OpenSSL could not be detected
4.2、编译输出二进制curl程序
执行下列指令编译输出执行程序:
make
在完成编译环境配置后,编译执行完成后结果如下:
在这一步已经有可执行的文件或库文件,但是还未安装到系统环境中,并且不是所有的文件都需要,因此需要额外的进行安装。
4.3、安装编译后的curl
执行下列指令,将编译生成的程序和文件安装到指定的位置,这里指定的位置即为./configure --prefix=/usr/local --with-ssl
中的--prefix
参数指定的位置:
sudo make install
安装完成如下:
4.4、编译完成检查
检查编译完成的路径内容/usr/local,是否存在更新:有三项更新
- 库文件在对应的lib路径,头文件在include路径,执行文件在bin路径
进入到bin路径下查看:含更新后的可执行程序
4.5、验证安装
最后,在系统的任意位置,执行curl --version
检查当前的版本是否为我们编译安装的最新版:
看到这里,明显成功安装了,可以正常使用最新版本的curl工具了,nice。