升级glibc2.12—>2.14遇到的问题。
安装gblic2.14后,软链接从/lib64/libc.so.6->/lib64/libc-2.12.so修改为/lib64/libc.so.6->/home/hadoop/workspace/glibc2.14/lib/libc-2.14.so.
rm -rf /lib64/libc.so.6
ln -s /home/hadoop/workspace/glibc2.14/lib/libc-2.14.so /lib64/libc.so.6
LD_PRELOAD=/home/hadoop/workspace/glibc2.14/lib/libc-2.14.so ln -s /home/hadoop/workspace/glibc2.14/lib/libc-2.14.so /lib64/libc.so.6
LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6
之后ssh连接不了,报错内容:
ssh_exchange_identification: Connection closed by remote host.
重启后不能进入系统,报错如下:
terminated with status 127
prefdm main process ended,respawning
尝试进入救援模式,制作u盘启动工具,重启服务器,选择resecure install system:
一步一步进去后,会进入bash shell,然后chroot /mnt/sysimage,切换回sh shell即可
尝试方法1:重新链接回libc-2.12.so,系统可以重启,恢复至之前的状态。
centos6.7 进入Rescue install system
chroot /mnt/sysimage
rm /lib64/libc.so.6
LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6
尝试方法二,在/root/目录下安装glibc-2.14,即不会出现不能重启的现象。
#解压并安装
tar -zxvf glibc-2.14.tar.gz
mkdir build && cd build
../configure --prefix=/opt/glibc-2.14
make
make localedata/install-locales
make install
#修改/lib64/libc.so.6
mv /lib64/libc.so.6 /lib64/libc.so.6.bak
LD_PRELOAD=/opt/glibc-2.14/lib/libc-2.14.so ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
#查看是否链接成功
ll /lib64/libc**
reboot