linux - 更新 glibc 后:分段错误(核心转储)
问题描述
我一直在使用centos 6.5。在我使用 yum 更新我的 glibc 之后。
yum update glibc
我发现我的“yum”命令和“python”命令都会抛出如下错误:
我已经厌倦了其他 shell 命令,例如:ls ll ln rm mv 等。这些命令工作正常。当我检查我的 libc 链接时,结果如下:
此外,我尝试使用打印我的 libz 配置
ldconfig -v|grep libz
我想知道为什么会发生这种情况。我真的需要你们的帮助来解决这个问题。
解决方案
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
以取回正确的符号链接。
您也可以尝试手动使用sln
或ln -sf
修复符号链接,但您必须一次性删除 glibc 2.16 文件。在您执行后者之前,每次ldconfig
调用都会带回 glibc 2.16 符号链接。并且ldconfig
在软件包安装期间自动运行,因此很容易意外发生。
推荐阅读
- c# - 设计视图模型并避免在控制器中使用 if else 语句并使用设计模式编写良好的业务逻辑 asp.net web api
- django - Django:如何在 sqlite3 数据库中添加/删除字段?
- mysql - 列出受相同抗生素影响的细菌对
- sql - 三个条件以防万一
- java - 算法实现java(algo)
- angular - 将@angular/pwa 添加到现有项目
- java - 将类路径设置为 txt 文件中的字符串
- c# - 我应该绑定到 WPF Prism 中的 SharedService 属性吗
- angular - 角度5中的身份验证弹簧安全性
- maven - 在 OSGI 中导出没有包的类