Centos yum segfault の解決策: 1. 「# rm -f /etc/yum.repos.d/soluslabs.repo」コマンドを実行します; 2. yum update を再実行します。
この記事の動作環境: CentOS 7 システム、python2.6、Dell G3 コンピューター。
centos yum セグメンテーション違反の問題を解決するにはどうすればよいですか?
CentOS yum セグメンテーション フォールト (コア ダンプ) の解決策
現在、yum install または yum update を実行すると、セグメンテーション フォールト (コア ダンプ) が表示され、その後、操作は終了しました。
コードは次のとおりです:
[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 2.7.4 がインストールされていたため、Python のバージョンが原因ではないと判断しました。
コードは次のとおりです:
# 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)
segfault の前の行は 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 アップデートをインストールすると、次のエラーが表示されます:
コードは次のとおりです:
[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 中国語 Web サイトの他の関連記事を参照してください。