最近在一台古董服务器(Centos5.4)上通过yum安装一些php需要的库文件时发生错误:
# yum update Setting up Update Process Setting up repositories Segmentation fault
开始以为是yum源的问题,折腾了好半天,发现原来是我们安装的zlib1.2.5时指定了安装目录(./configure -prefix=/usr)对yum产生了影响,所以总结如下:
1、安装完系统后,运行一次#yum update(yum产生了缓存) ,然后再安装zlib1.2.5,之后如果不执行#yum clean all,则一直可以使用yum,不会报段错误
2、如果在执行yum前已经安装了zlib1.2.5,则需要做如下处理
#cd /usr/lib #ln -sf libz.so.1.2.3 libz.so #ln -sf libz.so.1.2.3 libz.so.1
但此后zlib就使用了旧版本,在成功执行了yum后,还需要将软连接更改
#cd /usr/lib #ln -sf libz.so.1.2.5 libz.so #ln -sf libz.so.1.2.5 libz.so.1
至此,问题解决了!