0 说明
昨天要装个panweidb 3.1.0版本的测试库,本以为过程会比较顺利,谁知道yum install安装依赖包后:
yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel python3 expect* bzip2 libnsl gcc gcc-c++ zlib-devel ncurses-devel expect bzip2 gcc
出现相关报错如下:
共享库加载错误,报错提示 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
,表明程序运行时无法找到 libc.so.6 这个共享库文件。
大概过了几分钟,主机系统直接崩溃了,主机带外无输出,ssh不上去了。
1 原因分析
操作系统版本是BCLinux-for-Euler-21.10,奇怪的是之前也有同样版本的机器,安装yum包却没事。
经过对比,发现这台主机是TF定制版的,之前yum安装没问题的机子是非TF定制版,TF定制版软件版本比较高。
TF版带的glibc比较高2.31-5,在我yum安装libnsl后,glibc降级到2.28-97,glibc是系统关键软件,系统就崩溃了。
2 解决办法
确定是操作系统版本问题,找主机专业同事重装操作系统,使用非TF定制版镜像重装。
3 总结
本次故障的根本原因是特定 TF 定制版操作系统镜像的 glibc 高版本与 PanweiDB 依赖安装过程引发的 glibc 降级操作之间的冲突。glibc (GNU C Library) 是 Linux 系统最核心的基础库,几乎所有程序都依赖它。对其进行的降级操作破坏了系统的关键依赖关系,导致系统无法正常运行而崩溃。
定制版也不一定好啊。