最近在装mysql时提示C++编译器版本太低,后来用yum install 和 yum update 都出现段错误并终止运行,搜了一下午的贴,第二天终于找到原因了,一般有两种:
(第一种)我的yum update时提示段错误大致是:
[root@server1 soft]# yum update 已加载插件:fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirror.neu.edu.cn * extras: mirror.neu.edu.cn * updates: mirror.neu.edu.cn soluslabs | 951 B 00:00 soluslabs/primary | 11 kB 00:00 段错误 (core dumped)
根据报错和爬贴:http://www.111cn.net/sys/CentOS/51229.htm 发现很有可能是/etc/yum.repos.d/ 下的pegasus.repo的问题,所以删除它:
rm /etc/yum.repos.d/pegasus.repo #推荐用下面的命令可以备份
我这里为了保险起见是把这个文件:
mv /etc/yum.repos.d/pegasus.repo /share/soft ##移到一个其他目录(自定义)以达到备份和删除的目的
最后
yum clean all
问题解决!
(第二种),可能是比较常见的一种,由于多个版本的zlib所(http://blog.sina.com.cn/s/blog_5425edf401016f90.html),解决办法(我的不是这个问题,直接摘自网上):
[root@lee ~]# rpm -q zlib zlib-devel zlib-1.2.3-29.el6.x86_64 zlib-devel-1.2.3-29.el6.x86_64 [root@lee ~]# cp /usr/lib64/lib Display all 1910 possibilities? (y or n) [root@lee ~]# cp /usr/lib64/libz.so /usr/local/lib64/ [root@lee ~]# cd /usr/local/lib64/ [root@lee lib64]# ln -sf libz.so libz.so.1 [root@lee lib64]# yum clean all
上面针对的系统是CentOS 64位,如果是32位的在赋值libz.so时这么复制
[root@lee ~] cp /usr/lib/libz.so /usr/local/lib/
然后重新yum update就可以了