Chinaunix首页 | 论坛 | 博客
  • 博客访问: 293604
  • 博文数量: 57
  • 博客积分: 965
  • 博客等级: 准尉
  • 技术积分: 736
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-24 10:22
文章分类

全部博文(57)

文章存档

2014年(2)

2013年(22)

2012年(25)

2011年(8)

分类: 系统运维

2013-06-05 14:41:10

        中午,升级了python到2.6.5后突然发现yum 命令不能使用了,错误提示如下:

 
        百度和google了一下,都说是centos下yum依赖于libz的问题,因为我安装zlib1.2.5的时候指定了安装目录/usr/local/zlib-1.2.5,对yum产生了影响,
具体原因如下:

1、安装完系统后,运行一次#yum update(yum产生了缓存) ,然后再安装zlib1.2.5,之后如果不执行#yum clean all,则一直可以使用yum,不会报段错误

2、如果在执行yum前已经安装了zlib1.2.5,则需要做如下处理

#cd /usr/local/zlib-1.2.5  (这个是我的安装目录)

#ln -sf libz.so.1.2.3 libz.so

#ln -sf libz.so.1.2.3 libz.so.1


但此后zlib就使用了旧版本,在成功执行了yum后,还需要将软连接更改

#cd /usr/local/zlib-1.2.5  (这个是我的安装目录)

#ln -sf libz.so.1.2.5 libz.so

#ln -sf libz.so.1.2.5 libz.so.1

至此,问题解决了!


        下面说说排查的过程。

    

        开始单方面以为是yum损坏, 需要修复,于是就重装了yum,发现问题还没能解决。看到网上都说是系统装了两个版本的libz引起的(系统默认的是1.2.3),

于是用命令查看:


[root@hhh ~]# ldconfig -v|grep libz

libz.so.1 -> libz.so.1.2.5

libz.so.1 -> libz.so.1.2.3

libz.so.1 -> libz.so.1.2.3


[root@hhh ~]# find / -name 'libz.so.1'

/data/check_data/zlib-1.2.5/libz.so.1

/usr/lib64/libz.so.1

/usr/lib/libz.so.1

/usr/local/zlib-1.2.5/lib/libz.so.1


于是切换到/usr/local/zlib-1.2.5/lib/目录,使用ll查看:

        
      于是就libz.so.1  先删除掉,重现软链到/usr/lib64/libz.so.1.2.3,但这里有个奇怪问题,就重新软链后发现,过一两分钟又自动恢复到原来的软件了,我也还没弄清楚问题所在,
干脆就把libz.so.1.2.5备份起来,再用/usr/lib64/libz.so.1.2.3来软链替换掉,这样就解决了。
 

 
 


 



阅读(4352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~