linux 升级 glbc,系统环境: CentOS 64位+千万不要在生产环境中升级glibc!,

系统环境: CentOS 64位+千万不要在生产环境中升级glibc!,

# cd /lib64

# LD_PRELOAD=/lib64/libc-2.15.so ln -sf /lib64/libc-2.15.so libc.so.6

libc-2.15.so

这个文件名根据你系统中的文件而定,如果有多个版本so文件可以逐个尝试

原理分析:

linux调用so的库文件时,搜索路径为当前路径,再是系统lib目录。但是提供了一个LD_PRELOAD系统变量来改变这个顺序。

设置LD_PRELOAD了后,库加载的顺序就变成这样了:

LD_PRELOAD —> 当前路径 —> 系统lib目录

最后赠送一个查看当前支持gblic版本的命令:

# strings /lib64/libc.so.6 | grep GLIBC

作者:小和尚的藏经阁

链接:https://www.jianshu.com/p/216b28535c6b

来源:

升级glibc挂了后可以救命的命令

系统环境: CentOS 64位

首先,重要的事情说三遍,哈哈:

千万不要在生产环境中升级glibc!!!

但是如果实在不幸,在升级glibc时挂掉了,执行各种命令都提示错误,比如:

Segmentation fault

或者:

error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

这类错误出现千万不要着急退出SSH,执行下面的命令是可以挽救的:

# cd /lib64

# LD_PRELOAD=/lib64/libc-2.15.so ln -sf /lib64/libc-2.15.so libc.so.6

libc-2.15.so这个文件名根据你系统中的文件而定,如果有多个版本so文件可以逐个尝试

原理分析:

linux调用so的库文件时,搜索路径为当前路径,再是系统lib目录。但是提供了一个LD_PRELOAD系统变量来改变这个顺序。

设置LD_PRELOAD了后,库加载的顺序就变成这样了:LD_PRELOAD —> 当前路径 —> 系统lib目录

最后赠送一个查看当前支持gblic版本的命令:

# strings /lib64/libc.so.6 | grep GLIBC_

参考资料:运维之路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值