首页 > 解决方案 > 更新 glibc 后:分段错误(核心转储)

问题描述

我一直在使用centos 6.5。在我使用 yum 更新我的 glibc 之后。

yum update glibc

我发现我的“yum”命令和“python”命令都会抛出如下错误: 在此处输入图像描述

我已经厌倦了其他 shell 命令,例如:ls ll ln rm mv 等。这些命令工作正常。当我检查我的 libc 链接时,结果如下: 在此处输入图像描述

此外,我尝试使用打印我的 libz 配置

ldconfig -v|grep libz

结果如下: 在此处输入图像描述

我想知道为什么会发生这种情况。我真的需要你们的帮助来解决这个问题。

更重要的是,我的“gdb”也会抛出这个错误。当我使用“dmesg”命令时,我收到如下消息: 在此处输入图像描述

标签: linuxsegmentation-faultglibcyumcentos6.5

解决方案


CentOS 6 基于 glibc 2.12。符号链接指向 glibc 2.16,因此您尝试安装不属于操作系统的 glibc 包。这已经损坏了系统,可能无法修复。您将重新安装它并从备份中恢复数据。

避免重新安装是一项复杂的操作。您需要确保您仍然拥有 glibc 2.12 的所有文件(名称以 结尾-2.12.so)。然后您可以删除 glibc 2.16 文件(以 结尾的文件-2.16.so),只需一次rm调用。(单次rm调用是必要的,因为rm一旦您开始删除 glibc 2.16 文件,它将停止工作。)之后,您可以运行ldconfig以取回正确的符号链接。

您也可以尝试手动使用slnln -sf修复符号链接,但您必须一次性删除 glibc 2.16 文件。在您执行后者之前,每次ldconfig调用都会带回 glibc 2.16 符号链接。并且ldconfig在软件包安装期间自动运行,因此很容易意外发生。


推荐阅读