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

文章目录

    • 1、前言
    • 2、curl源代码下载
    • 3、openssl安装
    • 4、编译curl
      • 4.1、配置编译环境
      • 4.2、编译输出二进制curl程序
      • 4.3、安装编译后的curl
      • 4.4、编译完成检查
      • 4.5、验证安装

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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/9373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吴恩达机器学习笔记:第 9 周-17大规模机器学习(Large Scale Machine Learning)17.3-17.4

目录 第 9 周 17、 大规模机器学习(Large Scale Machine Learning)17.3 小批量梯度下降17.4 随机梯度下降收敛 第 9 周 17、 大规模机器学习(Large Scale Machine Learning) 17.3 小批量梯度下降 小批量梯度下降算法是介于批量梯度下降算法和随机梯度下降算法之间的算法&…

Docker Desktop 修改容器的自启动设置

Docker Desktop 允许用户控制容器的自启动行为。如果你不希望某个容器在 Docker 启动时自动启动,你可以通过以下步骤来更改设置: 1. 打开 Docker Desktop 应用。 2. 点击右上角的设置(Settings)按钮,或者使用快捷键 Cm…

2024数维杯数学建模A题B题C题思路+模型+代码(开赛后第一时间更新)

2024数维杯数学建模A题B题C题思路模型代码(开赛后第一时间更新) https://mbd.pub/o/bread/ZpWakpdq https://mbd.pub/o/bread/ZpWakpdq 2024年第九届数维杯大学生数学建模挑战赛参赛规则 竞赛要求及论文提交方式; ①本次参赛作品统一在线提交到竞赛…

如何进行资产梳理(信息收集)

前言 渗透测试流程 线路一:渗透测试人员 1.域名收集--(备案收集) 1.1在线收集子域名 1.1.1 站长之家 1.1.2 IP138网站 1.1.3 查子域 1.1.4 RapidDNS 1.1.5 聚名 1.1.6 Crt.sh 1.1.7 googleHack 1.2工具和资产测绘收集子域名 1.2.1 oneforall(最好用,最全面) 1.2.…

内网安全-隧道技术SSHDNSICMPSMB上线通讯LinuxMac 简单总结

第126天:内网安全-隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac_内网安全-隧道技术_ssh_dns_icmp_smb_上线通讯linux_mac-CSDN博客 内网渗透—隧道技术_隧道技术csdn-CSDN博客 #SMB 隧道&通讯&上线 判断:445 通讯 上…

Spark云计算平台Databricks使用,创建workspace和Compute计算集群(Spark集群)

Databricks,是属于 Spark 的商业化公司,由美国加州大学伯克利 AMP 实验室的 Spark 大数据处理系统多位创始人联合创立。Databricks 致力于提供基于 Spark 的云服务,可用于数据集成,数据管道等任务。 1 创建workspace 点击创建wor…

YOLOv9改进策略 :一种新颖的通用倒瓶颈(UIB)搜索块助力检测| 轻量化之王MobileNetV4

💡💡💡创新点:轻量化之王MobileNetV4 开源 | Top-1 精度 87%,手机推理速度 3.8ms,原地起飞! 最主要创新:引入了通用倒瓶颈(UIB)搜索块,这是一个统一且灵活的结构,它融合了倒瓶颈(IB)、ConvNext、前馈网络(FFN)以及一种新颖的额外深度可分(ExtraDW)变体技…

【JavaWeb】网上蛋糕商城后台-客户管理

概念 上文中已讲解和实现了后台管理系统中的订单管理功能,本文讲解客户信息管理功能。 客户信息列表 在后台管理系统的head.jsp头部页面中点击“客户管理”向服务器发送请求 在servlet包中创建AdminUserListServlet类接收浏览器的请求 package servlet;import m…

totoriseSVN 常见问题

1. SVN 无法 clean up 上传时没有关闭 Excel,导致传入了一些临时文件(文件名以$开头),关闭文件后临时文件自动删除,导致 SVN 版本错乱,使用 CleanUp 功能无效 更新时提示【Previous operation has not fin…

【Java探索之旅】super 子类构造 掌握

文章目录 📑前言一、继承1.1 super1.2 子类的构造方法1.3 super与this的区别 🌤️全篇总结 📑前言 继承作为面向对象编程中的重要概念,为我们提供了一种强大的代码复用和扩展机制。在Java中,通过继承可以实现子类对父类…

大数据毕业设计Python+Django地铁客流量预测 时间序列 深度学习 机器学习 人工智能 Python爬虫 计算机毕业设计

​ 博主介绍:全网粉丝100W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业感兴趣的可以先收藏起来,点赞、关注不迷路 西安工程大学本科毕业设计&#xff…

C++中的std::bind深入剖析

目录 1.概要 2.原理 3.源码分析 3.1._Binder分析 3.2._CALL_BINDER的实现 4.总结 1.概要 std::bind是C11 中的一个函数模板,用于创建一个可调用对象(函数对象或者函数指针)的绑定副本,其中一部分参数被固定为指定值&#xf…

Visual Studio编译QT工程

1、安装QT 2、安装VS 3、选择扩展和更新 4、搜索Qt Visual Studio Tools,安装或卸载 5、安装成功后工具栏显示Qt VS Tools 6、配置Qt VS Tools:打开Qt VS Tools的下拉菜单,选择Qt Versions 7、选择qt qmake.exe 的路径

汽车行业芯片 车规级芯片 单车芯片( soc mcu)数量

链接:https://xueqiu.com/3000217281/272114755 10大车规级MCU芯片10大车规级MCU芯片 汽车芯片是什么? 汽车芯片即车规级芯片,标准要高于工业级和民用级芯片,仅次于军工级芯片。芯片大概有以下四种级别,分别是军工级…

猿匹配,一款使用环信实现的一个开源聊天应用含服务器

前言 之前写了一篇Android开发集成聊天环信SDK3.x简单开始,然后最近得空开发了一款使用环信实现的实时聊天应用,包含简单的服务器端,并开源给大家,有兴趣的同学可以一起搞一下,详细介绍看下边吧 上代码 服务器&#…

Java基于Spring Boot框架的校园外卖服务系统设计与实现(附源码,说明文档)

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

第二篇【AI与传奇开心果系列】Python的AI技术点库案例示例:详解AI工业应用算法原理

AI与传奇开心果系列博文 系列博文目录Python的AI技术点库案例示例系列 博文目录前言一、AI工业应用算法原理介绍二、机器学习在工业领域的应用算法示例代码三、深度学习算法在工业领域应用示例代码四、强化学习在工业领域应用示例代码五、自然语言处理在工业领域应用示例代码六…

9. Django Admin后台系统

9. Admin后台系统 Admin后台系统也称为网站后台管理系统, 主要对网站的信息进行管理, 如文字, 图片, 影音和其他日常使用的文件的发布, 更新, 删除等操作, 也包括功能信息的统计和管理, 如用户信息, 订单信息和访客信息等. 简单来说, 它是对网站数据库和文件进行快速操作和管…

Hive多字节分隔符处理

Hive多字节分隔符处理 1.Hive分隔符默认规则 2.问题与需求 3.解决方案 (1)替换分隔符 (2)RegeSerDe正则加载 (3)自定义InputFormat

SAP-ABAP-ALV报表

1、功能介绍 什么是ALV报表 2、开发步骤 事物码: SE38创建报表程序SE93生成TCODESE43SE91消息号报表类型:简单报表、复杂报表、报表树 报表组成:查询界面(选择屏幕)、展示界面、功能按钮 基本流程: 重点:数据放在内表里,临时表,放在内存里。 3、开发实战 按标题…