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

至此: 服务器又可用了
相关推荐
SPC的存折9 小时前
1、Redis数据库基础
linux·运维·服务器·数据库·redis·缓存
爱学习的小囧10 小时前
VMware ESXi 6.7U3v 新版特性、驱动集成教程和资源包、部署教程及高频问答详情
运维·服务器·虚拟化·esxi6.7·esxi蟹卡驱动
小疙瘩10 小时前
只是记录自己发布若依分离系统到linux过程中遇到的问题
linux·运维·服务器
dldw77711 小时前
IE无法正常登录windows2000server的FTP服务器
运维·服务器·网络
运维有小邓@11 小时前
什么是重放攻击?如何避免成为受害者?
运维·网络·安全
我是伪码农12 小时前
外卖餐具智能推荐
linux·服务器·前端
汤愈韬12 小时前
下一代防火墙通用原理
运维·服务器·网络·security
皮皮林55112 小时前
强烈建议大家使用 Linux 做开发?
linux
IMPYLH12 小时前
Linux 的 od 命令
linux·运维·服务器·bash
Kk.080213 小时前
Linux(十一)fork实例练习、文件操作示例及相关面试题目分享
linux·运维·算法