Centos 7.9如何使用源码编译安装curl最新版本

发布于:2024-05-16 ⋅ 阅读:(75) ⋅ 点赞:(0)

1、前言

Centos 7.9,由于系统为2017年发行,且以稳定性为主,部分工具版本较低,无法支持一些新的功能。如curl就相对较旧,默认为7.29版本,且无法从其他额外的镜像源获取到更新的版本,这就导致新的功能如–-connect-to参数(在7.49版本后开始支持)无法正常使用,此参数可以用来指定请求的地址。

image-20240509201553309

image-20240509201520485

2、curl源代码下载

打开官方下载页面:https://curl.se/download.html

找到最新的版本:

image-20240509201845834

也可以下拉到package栏选择其他版本:

image-20240509201945187

鼠标右键复制链接地址:

image-20240509202129804

传输到Linux设备本地:

wget /usr/local/src/curl https://curl.se/download/curl-8.7.1.tar.gz

image-20240509202349215

image-20240509203108149

下载完成之后,对其进行解压:

tar -zxvf curl-8.7.1.tar.gz

解压之后移动到对应路径:

image-20240509203158256

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

image-20240509204059753

编译配置完毕执行如下:

image-20240510001825113

**注:**一定要提前安装openssl,否则在配置的过程中会出现无法找到openssl的错误。

configure: error: --with-openssl was given but OpenSSL could not be detected

image-20240510002204338

4.2、编译输出二进制curl程序

执行下列指令编译输出执行程序:

make

在完成编译环境配置后,编译执行完成后结果如下:

image-20240510002331180

在这一步已经有可执行的文件或库文件,但是还未安装到系统环境中,并且不是所有的文件都需要,因此需要额外的进行安装。

4.3、安装编译后的curl

执行下列指令,将编译生成的程序和文件安装到指定的位置,这里指定的位置即为./configure --prefix=/usr/local --with-ssl中的--prefix参数指定的位置:

sudo make install

安装完成如下:

image-20240510003031269

4.4、编译完成检查

检查编译完成的路径内容/usr/local,是否存在更新:有三项更新

  • 库文件在对应的lib路径,头文件在include路径,执行文件在bin路径

image-20240510003206371

进入到bin路径下查看:含更新后的可执行程序

image-20240510003253786

4.5、验证安装

最后,在系统的任意位置,执行curl --version检查当前的版本是否为我们编译安装的最新版:

image-20240510003520445

看到这里,明显成功安装了,可以正常使用最新版本的curl工具了,nice。