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

至此: 服务器又可用了
相关推荐
shizhan_cloud7 分钟前
华为云核心服务运维知识点与高频实操问题总结
运维·华为云
l1t11 分钟前
DeepSeek总结的Quack:DuckDB 客户端-服务器协议(二)
运维·服务器·duckdb
xugyw14 分钟前
window获取安全码SHA1、SHA256和jks文件
运维·服务器·安全
肖爱Kun16 分钟前
Webrtc信令交互
服务器·webrtc
杨浦老苏18 分钟前
开源服务器监控工具Checkmate
运维·docker·群晖·网站监控
yyyyy_abc31 分钟前
docker学习笔记
运维·docker·容器
2301_7807896631 分钟前
多层级 CC 防护体系:前端验证与后端限流的协同配置实践
运维·服务器·前端·网络安全·智能路由器·状态模式
秋933 分钟前
Windows 环境下 Redis 部署详解:从选型、安装到生产级配置与运维
运维·windows·redis
一起逃去看海吧35 分钟前
Dify-01-docker安装 和 dify部署
运维·docker·容器
林瞅瞅37 分钟前
Jenkins+Docker实现Nuxt2自动化部署
服务器·ci/cd