linux yum zlib安装,Centos升级zlib库导致yum运行错误

今天在编译LNMP环境时,遇到系统zlib版本有点低,由于Nginx需要指定zlib库安装位置,所以干脆就直接替换掉系统自带的zlib。在这里遇到了一个问题:升级zlib时候,是用yum直接升级呢,还是先卸载掉原来的,然后编译安装。如果是用yum升级的话,nginx安装时候指定zlib位置时用哪个?由于不能解决解决这个问题,所以最终我选择编译安装zlib,去官网下载了最新版本,然后编译,编译时指定安装目录为/usr/local/zlib,库文件路径为/lib64,编译完成之后,其它一切正常,却发现yum运行不正常,一直提示Segmentation fault。

网上查了一些资料,最终在centos的网站上找到了关于这个信息的描述,原来是个bug! http://bugs.centos.org/view.php?id=4702&nbn=1上有这样的描述:

Some apps require the latest version of zlib (1.2.5)

After installation from source yum segfaults. (took me ages to figure it out)

Solution, rm -rf /usr/lib/libz.* & reinstall zlib-1.2.3.

Affects all CentOS 4.* and RHEL 4.* versions.

这里说到受这个bug影响的主要是centos 4.*和red hat 4.*的系统,解决办法比较有意思,是删掉/usr/lib/下的zlib共享文件,然后重新安装zlib-1.2.3,估计这里的意思是,系统版本过低,而zlib版本过高,导致了不兼容的存在,要解决问题,只有安装低版本的才行,下面也有管理员的回复说不是centos本身的问题。把zlib换成1.2.3,发现yum能正常运行了。看来,随时更新服务器系统还是有必要的o(∩_∩)o 。

到这里,yum的问题解决了,还剩一个问题是,如果系统中自带zlib库或者用yum安装zlib库,安装nginx的时候,怎么去指定呢?zlib的默认安装路径是/usr/local,安装的时候是指定这个位置吗?实验测试了一番,发现指定–with-zlib=/usr/local,nginx编译不成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值