centos 6.8 升级到glibc 2.14 误操作失败 恢复方法

1 因为centos6.8的glibc 是2.12的,用到的一些软件是要求2.14,所以按照下面操作安装

mkdir ~/glibc_install
cd ~/glibc_install
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar zxvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build

../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

make -j4
sudo make install
 

就是这里的 -prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin 导致把系统搞崩了,各种命令用不了,ssh不能连接,还出现如下错误

 /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /lib64/librt.so.1)

Segmentation fault (core dumped)
ls: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory等错误,,

解决方法:

1先进行  ldconfig  -lv /lib64/libc-2.14.so,或者换成你自己要升级的libc-2.14.so所在的目录,
2  export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:/lib64/   这两个路径分别是系统的lib64和你要升级的libc-2.14.so所在的目录

3此时可以发现命令可以正常运行,,但是ssh还不能连接,进去/lib64目录发现很多软链接已经被改成连接到2.14,此时逐步把这些链接修改指向系统原本的2.12版本

命令如ln -snf   libanl-2.12.so  libanl.so.1,一个个的改,,改完后 ssh也可以连接,可以新开个终端看看

4然后再ldconfig  -lv /lib64/libc-2.12.so 改回去原本的链接

5如果还出现segmentation fault的话,可以看下/etc/profile等是不是加入原来老的libc库,可以把它去掉,加入对应的想要的libc库所在路径

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值