Linux中关于glibc包编译升级导致服务器死机或者linux命令无法使用的情况

服务器上编译glibc2.29版本导致命令不能用
bash 复制代码
Inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_libc_early_init: Assertion `sym != NULL' failed!
下面是造成不可用的原因
bash 复制代码
1.编译完gcc 2.29版本后,开始做映射,以达到能使用最新版本的glibc

wget -4c https://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.gz
tar -zxvf glibc-2.29.tar.gz
cd glibc-2.29
mkdir build_dir
cd build_dir
sudo ../configure --prefix=/opt/glibc

`编译完后 我映射到/opt/glibc目录下`
[root@localhost ld.so.conf.d]# echo "/opt/glibc/lib" | sudo tee -a /etc/ld.so.conf.d/glibc-2.29.conf

[root@localhost etc]# cd /etc/ld.so.conf.d/
[root@localhost ld.so.conf.d]# ls
glibc-2.29.conf  

`更改环境变量`
[root@localhost ld.so.conf.d]# export LD_LIBRARY_PATH=/opt/glibc/lib:$LD_LIBRARY_PATH

`做映射`
[root@localhost ld.so.conf.d]# cat glibc-2.29.conf
/opt/glibc/lib
/opt/glibc-2.29/lib
/opt/glibc-2.29/lib
/opt/glibc/lib

`刷新`
[root@localhost ld.so.conf.d]# ldconfig

`刷新后便不能使用正常的命令了`
[root@localhost app]# ls
Inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_libc_early_init: Assertion `sym != NULL' failed!
恢复可用的方式
bash 复制代码
[root@localhost ld.so.conf.d]# export LD_LIBRARY_PATH=""

[root@localhost ld.so.conf.d]# echo "" > /etc/ld.so.conf.d/glibc-2.29.conf

`刷新`
[root@localhost ld.so.conf.d]# ldconfig

至此: 服务器又可用了
相关推荐
Brilliantwxx13 小时前
【Linux】 第一个程序终端进度条
linux·运维·服务器
AI创界者13 小时前
【网络安全运维】Kali Linux 下 Medusa(美杜莎)工具的高效部署、故障排查与安全测试实战
linux·运维·web安全
FinelyYang13 小时前
CentOS 7.6 自建 LiveKit 部署指南
linux·运维·centos
Huangjin007_13 小时前
【Linux 系统篇(十四)】进程 (二) :PCB、task_struct、fork系统调用
linux·运维·服务器
HiDev_13 小时前
【非标自动化】硬核阅读理解620行梯形图(70~619行)
运维·自动化
深念Y14 小时前
hotspot-adb-research
linux·数据库·adb·emmc·随身wifi·移动终端
雨田言炎14 小时前
十、QThread多线程
linux·服务器·开发语言·前端·qt
海兰14 小时前
云原生持续交付平台 Zadig 在 Ubuntu 24.04 上的部署及使用指南
linux·ubuntu·云原生
向上的车轮14 小时前
GitHub Actions 自动化运维实战:Java + TypeScript 全栈项目 CI/CD 至阿里云
运维·自动化·github
重庆小透明14 小时前
深入探寻微服务【第三篇微服务的组件】
运维·微服务·架构