解决在centos7.2下YUM安装nginx-1.12.2依赖的问题

由于CENTOS7.2默认使用老版本的openssl(OpenSSL 1.0.1e) ,这个问题会导致yum nginx-1.12以上版本的时候会因为依赖libcrypto.so.10(OPENSSL_1.0.2)(64bit)的问题造成安装失败。

环境描述

如下:
系统版本检测

[[email protected]~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core) 

openssl版本检测

[[email protected] ~]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013

尝试YUM安装nginx

[[email protected]~]# yum install nginx
Loaded plugins: fastestmirror
aliEpel                                                                                                                            | 3.2 kB  00:00:00
(1/3): aliEpel/7/x86_64/group_gz                                                                                |  88 kB  00:00:00
(2/3): aliEpel/7/x86_64/updateinfo                                                                              | 928 kB  00:00:00
(3/3): aliEpel/7/x86_64/primary                                                                                 | 3.5 MB  00:00:00
Loading mirror speeds from cached hostfile
aliEpel                                                                                                                          12614/12614
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.12.2-2.el7 will be installed
--> Processing Dependency: nginx-filesystem = 1:1.12.2-2.el7 for package: 1:nginx-1.12.2-2.el7.x86_64
--> Processing Dependency: nginx-all-modules = 1:1.12.2-2.el7 for package: 1:nginx-1.12.2-2.el7.x86_64
--> Processing Dependency: nginx-filesystem for package: 1:nginx-1.12.2-2.el7.x86_64
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: 1:nginx-1.12.2-2.el7.x86_64
--> Processing Dependency: libprofiler.so.0()(64bit) for package: 1:nginx-1.12.2-2.el7.x86_64
--> Running transaction check
.... 省略部分内容
Error: Package: 1:nginx-1.12.2-2.el7.x86_64 (aliEpel)
           Requires: libcrypto.so.10(OPENSSL_1.0.2)(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

注意看报错,提示需要依赖libcrypto.so.10(OPENSSL_1.0.2)库文件

排查策略

查看一下openssl版本

[[email protected] ~]# rpm -q --provides openssl
openssl = 1:1.0.1e-51.el7_2.7
openssl(x86-64) = 1:1.0.1e-51.el7_2.7

查看一下当前的库文件,特别是libcrypto.so.10

[[email protected] ~]# rpm -q --provides openssl-libs | grep libcrypto.so.10
libcrypto.so.10()(64bit)
libcrypto.so.10(OPENSSL_1.0.1)(64bit)
libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
libcrypto.so.10(libcrypto.so.10)(64bit)

既然知道问题所在,那么解决就好办了。就是升级openssl。centos7.2是没有办法通过yum update直接升级的。

解决办法

需要从http://rpm.pbone.net 搜索相关的RPM包下载
这个就不具体演示了。搜索技能应该是必备的


需要以上两个文件,下一步自然是下载本地,安装了。

我再解释一下为啥要同时下载和安装这两个RPM。因为这两个RPM彼此依赖,如果单安装一个RPM,会提示另一个需要依赖,有兴趣的童鞋可以试试。

[[email protected] tmp]# yum localinstall openssl-libs-1.0.2k-8.el7.x86_64.rpm openssl-1.0.2k-8.el7.x86_64.rpm
Loaded plugins: fastestmirror
Examining openssl-libs-1.0.2k-8.el7.x86_64.rpm: 1:openssl-libs-1.0.2k-8.el7.x86_64
Marking openssl-libs-1.0.2k-8.el7.x86_64.rpm as an update to 1:openssl-libs-1.0.1e-51.el7_2.7.x86_64
Examining openssl-1.0.2k-8.el7.x86_64.rpm: 1:openssl-1.0.2k-8.el7.x86_64
Marking openssl-1.0.2k-8.el7.x86_64.rpm as an update to 1:openssl-1.0.1e-51.el7_2.7.x86_64
Resolving Dependencies
--> Running transaction check
---> Package openssl.x86_64 1:1.0.1e-51.el7_2.7 will be updated
---> Package openssl.x86_64 1:1.0.2k-8.el7 will be an update
---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.7 will be updated
---> Package openssl-libs.x86_64 1:1.0.2k-8.el7 will be an update
--> Finished Dependency Resolution 

Dependencies Resolved 

=======================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================
Updating:
openssl(B x86_64 1:1.0.2k-8.el7 /openssl-1.0.2k-8.el7.x86_64 814 k
openssl-libs(B x86_64 1:1.0.2k-8.el7 /openssl-libs-1.0.2k-8.el7.x86_64 3.1 M 

Transaction Summary
=======================================================================================================================================
Upgrade 2 Packages 

Total size: 3.8 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : 1:openssl-libs-1.0.2k-8.el7.x86_64 1/4
Updating : 1:openssl-1.0.2k-8.el7.x86_64 2/4
Cleanup : 1:openssl-1.0.1e-51.el7_2.7.x86_64 3/4
Cleanup : 1:openssl-libs-1.0.1e-51.el7_2.7.x86_64 4/4
Verifying : 1:openssl-1.0.2k-8.el7.x86_64 1/4
Verifying : 1:openssl-libs-1.0.2k-8.el7.x86_64 2/4
Verifying : 1:openssl-libs-1.0.1e-51.el7_2.7.x86_64 3/4
Verifying : 1:openssl-1.0.1e-51.el7_2.7.x86_64 4/4 

Updated:
openssl.x86_64 1:1.0.2k-8.el7 openssl-libs.x86_64 1:1.0.2k-8.el7 

Complete!

接着检查一下openssl版本

[[email protected] tmp]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
ror.centos.org/centos/7/os/xls 

查看包

[[email protected] ~]# rpm -q --provides openssl
openssl = 1:1.0.2k-8.el7
openssl(x86-64) = 1:1.0.2k-8.el7

看看依赖库

[[email protected] ~]# rpm -q --provides openssl-libs | grep libcrypto.so.10
libcrypto.so.10()(64bit)
libcrypto.so.10(OPENSSL_1.0.1)(64bit)
libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
libcrypto.so.10(OPENSSL_1.0.2)(64bit)
libcrypto.so.10(libcrypto.so.10)(64bit)

这个时候你就可以放心的yum 新版本NGINX了。

升级openssl还是要注意一下,因为有一些个别老应用会用到openssl1.0.1,这个时候就需要认真平衡了。

原文地址:http://blog.51cto.com/z00w00/2147566

时间: 2024-10-05 18:46:28

解决在centos7.2下YUM安装nginx-1.12.2依赖的问题的相关文章

CentOS7系统下YUM安装安装Mongodb 3.4

CentOS7系统下YUM安装安装Mongodb 3.4 第一步 查看是否存在Mongodb配置yum源 切换到yum目录 cd /etc/yum.repos.d/ 查看文件 ls 第二部 不存在添加yum 源 创建文件 touch mongodb-3.4.repo 编辑该文件 vi mongodb-3.4.repo 内容 : cat /etc/yum.repos.d/mongodb-3.4.repos [mongodb-org-3.4] name=MongoDB Repository base

centos 下yum 安装nginx

centos 下yum 安装nginx 1. 直接yum install nginx不行,要先处理下源: rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 2. 查看源: yum info nginx 这时会提示有可安装的软件包 nginx | 2.9 kB 00:00nginx/primary_db | 15 kB 00:00可安装的软件包Nam

centos下yum安装nginx

在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo cd   /etc/yum.repos.d/ vim  nginx.repo 填写如下内容: [nginx] name=nginx   repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1 保存. yum   install  nginx      ---安装nginx service    nginx   s

CentOS下yum安装 Nginx

安装Nginx # 查看相关信息 yum info nginx yum info httpd # 移除 httpd,也就是 Apache yum remove httpd -y # 安装 nginx yum install nginx -y #设置 nginx 自启动 chkconfig nginx on # 查看服务自启动情况 chkconfig # 启动nginx服务 service nginx start # 查看端口监听状态 netstat -ntl # 此时你可以访问试试了 # 例如:

Linux下yum安装nginx教程

使用yum安装 yum install nginx nginx的配置文件在/etc/nginx/nginx.conf 自定义的配置文件放在/etc/nginx/conf.d 项目文件存放在/usr/share/nginx/html/ 日志文件存放在/var/log/nginx/ 原文地址:https://www.cnblogs.com/jichi/p/12217680.html

Zabbix之CentOS7.3下yum安装Zabbix3.5

Zabbix特点介绍 (此介绍来源于https://www.zabbix.com/documentation/3.4/zh/manual/introduction/features) 概述Zabbix是一个高度集成的网络监控解决方案,一个简单的安装包中提供多样性的功能.数据收集    可用性和性能检查    支持SNMP(包括捕获和主动轮训),IPMI,JMX,VMware监控    自定义检查    按照自定义的间隔收集需要的数据* 由Server/Proxy和agents执行灵活的阀值定义*

学习笔记-centos7.4下yum安装zabbix3.4

Zabbix的简介:zabbix(音同 z?bix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题.zabbix由2部分构成,zabbix server与可选组件zabbix agent.zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在L

centos7设置官方yum安装nginx

1.查看官方文档说明:http://nginx.org/ 2.打开网址后,找到右下方的导航列表[docementation]并点击,打开后在次点击第一个菜单[installing nginx],找到对应的系统.我的是centos即linux,点击[packages],打开网页nginx:linux packages.查看安装介绍[installtion instructions]=>[RHEL/Centos].文档说要我们创建一个文件,并在文件中保存文中的配置. 3.创建/etc/yum.rep

CentOS7 linux下yum安装mysql5.7

1.创建存放安装包的位置,并且进入该目录 命令mkdir /share 命令cd /share 2.查看系统是否已经安装mysql,两种方法都可以 方法一:rpm -qa | grep mysql 方法二:yum list installed | grep mysql 3.如果存在,则移除以前的mysql 命令yum -y remove mysql-libs.x86_64 3.下载安装包 命令wget http://repo.mysql.com/mysql57-community-release