今天在yum install 或者yum update的時候都提示段錯誤(core dumped),然后終止運(yùn)行了。
[root@lee ~]# yum -y update
Loaded plugins: fastestmirror, refresh-packagekit
Determining fastest mirrors
* base: mirror.esocc.com
* extras: mirror.esocc.com
* soluslabs: mirror.us1.soluslabs.net
* updates: mirror.esocc.com
base | 3.7 kB 00:00
base/primary_db | 4.4 MB 00:14
extras | 3.4 kB 00:00
extras/primary_db | 18 kB 00:00
soluslabs | 951 B 00:00
soluslabs/primary | 11 kB 00:00
段錯誤 (core dumped)
到谷歌上找各種大蝦的文章還是無濟(jì)于事,只好認(rèn)真查看錯誤!首先我確定了不是因?yàn)镻ython版本的原因,因?yàn)橹鞍惭b了一個Python2.7.4。
# vim /usr/bin/yum
查看第一行
#!/usr/bin/python2.6
import sys
try:
import yum
except ImportError:
print >> sys.stderr, """\
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
%s
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
%s
If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq
""" % (sys.exc_value, sys.version)
sys.exit(1)
sys.path.insert(0, '/usr/share/yum-cli')
try:
import yummain
yummain.user_main(sys.argv[1:], exit_code=True)
except KeyboardInterrupt, e:
print >> sys.stderr, "\n\nExiting on user cancel."
sys.exit(1)
第一行是
#!/usr/bin/python2.6
直接看這個Python2.6是不是有問題
[root@lee ~]# /usr/bin/python2.6 -V
Python 2.6.6
正確識別版本號,沒問題。在yum clean all 以后都無濟(jì)于事的時候,我突然想到會不會/etc/yum.repos.d/目錄下多了東西?
[root@lee ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo soluslabs.repo
發(fā)現(xiàn)里邊有一個soluslabs.repo跟我yum命令報錯的地方都是一個資源庫,看來問題就在這了。
soluslabs | 951 B 00:00
soluslabs/primary | 11 kB 00:00
段錯誤 (core dumped)
段錯誤的上一行是soluslabs,于是我直接rm它
# rm -f /etc/yum.repos.d/soluslabs.repo
然后再clean下
# yum clean all
好滴,我們再回到熟悉的yum update
[root@lee ~]# yum -y update
Loaded plugins: fastestmirror, refresh-packagekit
Determining fastest mirrors
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
base | 3.7 kB 00:00
base/primary_db | 4.4 MB 00:20
extras | 3.4 kB 00:00
extras/primary_db | 18 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 3.9 MB 00:13
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package bash.x86_64 0:4.1.2-14.el6 will be updated
---> Package bash.x86_64 0:4.1.2-15.el6_4 will be an update
---> Package bind-libs.x86_64 32:9.8.2-0.17.rc1.el6_4.4 will be updated
搞定,收工!
另一個解決方法:
使用yum命令安裝東西或者yum update時都提示以下錯誤:
[root@lee ~]# yum update
Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* soluslabs: mirror.eu1.soluslabs.net
* updates: mirrors.tuna.tsinghua.edu.cn
段錯誤 (core dumped)
解決方法:
[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
我的系統(tǒng)是CentOS 64位,如果是32位的在賦值libz.so時這么復(fù)制
[root@lee ~] cp /usr/lib/libz.so /usr/local/lib/
然后重新yum update就可以了