问题一:glibc2.12升级到glibc2.14导致字符集问题
因为安装第三方软件需要glibc2.14,所以要把glibc2.12升级到gclib2.14。
升级是按照这篇博客升级的:
升级glibc链接
升级成功之后导致服务器不能展示中文,远程登录之后会提示:
-bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_CN.UTF-8): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot change locale (zh_CN.UTF-8): No such file or directory
-bash: warning: setlocale: LC_MESSAGES: cannot change locale (zh_CN.UTF-8): No such file or directory
-bash: warning: setlocale: LC_NUMERIC: cannot change locale (zh_CN.UTF-8): No such file or directory
-bash: warning: setlocale: LC_TIME: cannot change locale (zh_CN.UTF-8): No such file or directory
解决方法:
问题二:[手贱]恢复glibc2.14到glibc2.12,导致无法远程连接
由于不能展示中文,所以我就想着把glibc2.14还原到gclib2.12,使用一下命令:
rm -rf libc.so.6 # 删除旧连接
ln -sf /usr/lib/glibc-2.12/lib/libc-2.12.so /lib64/libc.so.6 # 建立新连接
但是导致不能远程连接,提示以下内容:
ssh_exchange_identification: Connection closed by remote host
解决方法:
然后有把gclib2.12恢复到gclib2.14,使用以下命令:
cd /lib64
rm -rf libc.so.6 删除旧连接
ln -sf /usr/lib/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6 建立新连接
LD_PRELOAD=/usr/lib/glibc-2.14/lib/libc-2.14.so ln -s /usr/lib/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
恢复之后重新启动sshd,可以远程连接。