centos升级glibc

描述

参考的文章 基于CentOS更新 glibc - 解决 `GLIBC_2.29‘ not found_glibc2.29-CSDN博客

执行步骤

# 下载资源
wget https://ftp.gnu.org/gnu/libc/glibc-2.34.tar.gz
 
tar xvf glibc-2.34.tar.gz

服务器上可以能会出现下载较慢的情况,可以再自己的电脑上下载,然后传上去,也可以使用国内的源

gnu-glibc安装包下载_开源镜像站-阿里云https://mirrors.aliyun.com/gnu/glibc/

cd glibc-2.34
mkdir build && cd build
 
../configure --prefix=/usr/local/glibc-2.34
make -j 64
make install

有可能会出现 jobserver的错误,可以参考

make报错:Cannot open jobserver /tmp/GMfifo12676r: No such file or directory-CSDN博客

下面就是要修改环境变量了,请大家注意一下

大家先不要直接修改文件,比如.bashrc,/etc/profile等,先在当前的shell下执行

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/glibc-2.34/lib

然后测一下,服务器上的命令是不是可以执行,如果没有问题,做如下操作

  1. 多开几个连接这个服务器的窗口,然后都保持登录状态,比如使用top命令
  2. 挑选第一个,修改.bashrc或者/etc/profile,将export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/glibc-2.34/lib 加入进去
  3. 然后执行souce .bashrc , 查看几个shell命令是不是可以执行,如果都能执行,说明升级成功

如果环境变量不能满足你的应用需求,则可以使用下面的方法,如果满足了就没有必要做了

先执行下面操作,将结果截图或者保存到记事本,防止后面操作失误

ls -l /lib64/libc.so.6  /lib64/libdl.so.2 /lib64/libpthread.so.0 /usr/lib64/ld-linux-x86-64.so.2 /usr/lib64/librt.so.1

执行下面命令,永久性的替换glibc 

LD_PRELOAD=/lib64/libc-2.34.so sln /usr/local/glibc-2.34/lib/libc.so.6            /lib64/libc.so.6
LD_PRELOAD=/lib64/libc-2.34.so sln /usr/local/glibc-2.34/lib/libdl.so.2          /lib64/libdl.so.2
LD_PRELOAD=/lib64/libc-2.34.so sln /usr/local/glibc-2.34/lib/libpthread.so.0      /lib64/libpthread.so.0
LD_PRELOAD=/lib64/libc-2.34.so sln /usr/local/glibc-2.34/lib/ld-linux-x86-64.so.2 /usr/lib64/ld-linux-x86-64.so.2
LD_PRELOAD=/lib64/libc-2.34.so sln /usr/local/glibc-2.34/lib/librt.so.1            /usr/lib64/librt.so.1

执行几个命令,查看是否正常。再打开一个shell,登录一下,看看能不能登录。如果不能登录,可以使用sln命令将软连接恢复到最开始的状态。

docker环境报错 libtinfo.so.5

bash: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

我实在docker中更新glibc, 然后再另一个终端通过docker exec -it  ... bash ,登录不上去了,报错如上。

解决办法:

 如果你新安装的glibc像上面我那样,没有在/usr/lib64或者/lib64下,你可以拷贝 /usr/lib64下的libtinfo.so.5到 你新安装的glibc目录下。

或者

  在容器中执行一下 ldconfig .

## 祝你好运
 
hope("大神多多指点")
topic("有问题可以交流呀")
concat("61480", "--","9646","求", "球" ," QUN")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值