内容简介:前段时间我写了不少关于 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
输出如下图:
特别说明的是:
在 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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 升级到新版本,免费使用 Elasticsearch 的安全功能
- 谷歌 Android P 电量提醒升级:智能计算剩余使用时间
- MySQL 避免行锁升级为表锁——使用高效的索引
- RXThinkCMF v4.0.0 正式发布,全新升级 UI,提升使用体验!
- 使用Angular cli升级AngularJS项目——(一)引导Angular混合应用
- 大规模升级来临,谈谈Oracle 12cR2使用经验
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
游戏开发的数学和物理
[ 日] 加藤洁 / 徐 谦 / 人民邮电出版社 / 59.00元
本书严格选取了游戏开发中最常用的数学和物理学知识,通过游戏开发实例,配上丰富的插图,以从易到难的顺序进行讲解。第1章到第5章分别讲解了物体的运动、卷动、碰撞检测、光线的制作、画面切换的细分处理。这五章将2D游戏必需的知识一网打尽,同时还严格挑选了少量3D游戏编程的基础内容以供参考。第6章系统梳理了游戏开发的数学和物理学理论,帮助读者更好地理解前五章的内容。 本书适合网络和手机游戏开发者阅读。一起来看看 《游戏开发的数学和物理》 这本书的介绍吧!