首頁 > 運維 > CentOS > 主體

如何解決centos yum 段錯誤問題

藏色散人
發布: 2022-01-11 14:22:03
原創
3547 人瀏覽過

centos yum段錯誤的解決方法:1、執行「# rm -f /etc/yum.repos.d/soluslabs.repo」指令;2、重新yum update即可。

如何解決centos yum 段錯誤問題

本文操作環境:CentOS 7系統、python2.6、Dell G3電腦。

如何解決centos yum 段錯誤問題?

CentOS yum 段落錯誤(core dumped)解決方法

今天在yum install 或yum update的時候都提示段落錯誤(core dumped),然後終止運行了。

程式碼如下:

[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)
登入後複製

到Google上找各種大蝦的文章還是無濟於事,只好認真查看錯誤!首先我確定了不是因為Python版本的原因,因為之前安裝了一個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 以後都無濟於事的時候,我突然想到會不會/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
登入後複製

發現裡邊有一個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          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
登入後複製

我的系統是CentOS 64位,如果是32位的在賦值libz.so時這麼複製

程式碼如下:

[root@lee ~] cp /usr/lib/libz.so /usr/local/lib/
登入後複製

然後重新yum update就可以了.

推薦教學:《centos教學

以上是如何解決centos yum 段錯誤問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!