手把手教你使用yum升级curl

栏目: 服务器 · 发布时间: 6年前

内容简介:前段时间我写了不少关于 curl 方面的文章,但重点主要描述 curl 和 openssl、nss 之间的关系。其实对于很多开发者来说,不太关心 curl 使用何种密码学库,这不,上周五刚好有个公众号留言,询问升级 curl 高版本的问题,这篇文章分享下我升级 curl 的一些经验。留言内容:在 RedHat Enterprise Linux Server release 6.5 上默认 curl 版本是 curl 7.19.7,想升级到 curl 7.61 版本。

前段时间我写了不少关于 curl 方面的文章,但重点主要描述 curl 和 openssl、nss 之间的关系。其实对于很多开发者来说,不太关心 curl 使用何种密码学库,这不,上周五刚好有个公众号留言,询问升级 curl 高版本的问题,这篇文章分享下我升级 curl 的一些经验。

留言内容:

在 RedHat Enterprise Linux Server release 6.5 上默认 curl 版本是 curl 7.19.7,想升级到 curl 7.61 版本。

在 RedHat/CentOS 系统中,curl 默认使用的密码学库是 NSS,升级 curl 有两种方法,分别是编译安装和包安装。

编译安装的方法参考 《源代码编译curl,让其支持nss》 这篇文章。在这篇文章中,NSS 也是编译安装的,实话实话编译过程还是很艰难的,如果不了解 NSS,很容易失败。

而使用包安装可能是最轻松的方法,这也是本篇文章讲解的重点,我使用 CentOS 6.5 进行讲解,基本上和 RedHat 6.5 版本无差异。

首先思考一个问题,为什么要升级高版本 curl,查看 releases:

    • https://curl.haxx.se/changes.html#7_61_0
    • https://curl.haxx.se/docs/releases.html

根本原因在于 curl 7.19 版本不支持 TLS v1.1 以上的协议,如果需要支持 TLS v1.2 版本,至少需要升级到 curl 7.34 版本。

然后查看系统目前安装的 curl 版本:

$ curl -V

curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp

7.19 版本2008年就发布了,目前 CentOS 6 还使用该版本。

其次思考如何升级 curl 包,参考 《推荐RHEL&CentOS系统下的几个包仓库》 这篇文章,也就是寻找合适的 repo,找了几个 repo,支持的版本都是 7.19。

查看 curl 官方页面 http://curl.haxx.se/download.html#LinuxRedhat,找到对应页面 https://mirror.city-fan.org/ftp/contrib/sysutils/Mirroring,这个页面的介绍非常详细。

成功寻找到一个 repo ,接下去介绍安装步骤。

(1)安装 repo

$ rpm-Uvh http://www.city-fan.org/ftp/contrib/yum-repo/rhel6/x86_64/city-fan.org-release-2-1.rhel6.noarch.rpm

(2)查看该 repo 包含的 curl 版本

$ yum--showduplicates list curl--disablerepo="*" --enablerepo="fan*"

输出如下:

Installed Packages
curl.x86_647.61.0-6.0.cf.rhel6@city-fan.org

可见该 repo 包含 7.61 的 curl 安装包。

(3)安装

$ yum install"curl-7.61.0-6.0.cf.rhel6.x86_64" --disablerepo="*" --enablerepo="city*"

安装会包 libnghttp2 版本的报错,仔细查看 https://mirror.city-fan.org/ftp/contrib/sysutils/Mirroring 说明,其中说的很清楚:

Additionally, builds for recent Fedora releases and RHEL are linked against libnghttp2. This library is included in Fedora and can be obtained from the EPEL Repository for RHEL.

那么升级 libnghttp2 :

$ yum list libnghttp2--disablerepo="*" --enablerepo="epel" 
$ yum install libnghttp2--disablerepo="*" --enablerepo="epel"

最后再安装 curl 成功。

(4)查看版本:

$ curl-V

输出如下图:

手把手教你使用yum升级curl

特别说明的是:

在 curl 7.61 版本中,使用的密码学库从 NSS 替换为 OpenSSL 了,输入以下命令可以看出:

$ curl-config--ssl-backends
 OpenSSL

【本文发表于 2018-08-28, https://mp.weixin.qq.com/s/yvSIzagaV70-JjH6VJj5Ng 】,欢迎大家关注,我的公众号(ID:yudadanwx,虞大胆的叽叽喳喳)


以上所述就是小编给大家介绍的《手把手教你使用yum升级curl》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms and Data Structures

Algorithms and Data Structures

Kurt Mehlhorn、Peter Sanders / Springer / 2008-08-06 / USD 49.95

Algorithms are at the heart of every nontrivial computer application, and algorithmics is a modern and active area of computer science. Every computer scientist and every professional programmer shoul......一起来看看 《Algorithms and Data Structures》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具