linux登录时候提示字符集有问题解决方法
字符集报错一直存在
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
背景
公司有台jenkins服务器,因历史原因一直使用centos6.5,突然登录时候提示字符集有问题,本人其实已经使用centos7很久,没碰到过这样问题,排查过程也一脸懵逼。
就是各种字符集报错,设置无效,n天后经过不断排查,发现为glibc导致,拍错过程还发现不能使用2.15版本,我擦,赶紧记一下。
排错过程
1.直接反应为字符集,百度查了多个文档,各种配置,各种更新插件,就是不生效,再赶上手头还有其他工作,也耽误了几天。
今天仔细想了一下,既然任何字符集都不生效,应该不是字符集问题,肯定加载过程出问题了,但是这几天服务器没做啥工作啊,无聊翻了下百度,突然看到了glibc的相关帖子,然后继续百度搜了一下,还真有别的哥们碰到过类似的,说编译时候要加make localedata/install-locales,了解办法后赶紧尝试。
2.系统默认是2.12,我因为有的插件需求,我升级到了2.14。我本想降到2.12,但是又一想,不如下载个2.15,重新编译,理论应该就都解决了。
3.网上找glibc-2.15资源,下载,编译,安装,常规操作后,将/lib64/libc.so.6软链接指向glibc-2.15,然后就又报错了 Illegal instruction (core dumped),系统也无法登陆了,赶紧修复 LD_PRELOAD=/lib64/libc-2.12.so ln -sf /lib64/libc-2.12.so /lib64/libc.so.6 先降会2.12,起码字符集故障解决了,但是这样不行啊,经过多次尝试升级2.15,最终还是失败了,网上也没找到相关解决办法。
4.无奈,想是不是和系统兼容问题,不放弃,又尝试升级2.17,依然常规操作,这次终于可以了。。。
具体过程
1.查看系统glibc版本库
strings /lib64/libc.so.6 |grep GLIBC_
发现最高到2.12,准备升级到2.17,一定不要装2.15,我不知道是不是我自己有问题,反正我装不上
2.下载安装
进入下载目录/data/install,执行命令,具体不解释了,都懂
wget https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
tar xvf glibc-2.17.tar.gz
mkdir glibc-build-2.17
cd glibc-build-2.17/
../glibc-2.17/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j8 && make install && make localedata/install-locales
3.验证
strings /lib64/libc.so.6 | grep GLIBC
都不用替换/lib64/libc.so.6文件,而且文件软链接已指向glibc-2.17,完事了。
以上就是全部相关知识点,希望我们整理的内容能够帮助到大家。
您可能感兴趣的文章
- 04-02linux关闭串口命令 关闭linux端口命令
- 04-02linux文件命令重命名 linux重命名文件名命令
- 04-02linux命令注入过滤 linux 代码注入
- 04-02linux中jobs命令 shell jobs命令
- 04-02linux依次执行命令 linux命令的执行过程是怎样的?新手必读
- 04-02linux命令免输入 linux配置免密登录
- 04-02linux命令注销vnc linux命令行注销用户
- 04-02软交换linux命令 软交换网络主要协议有哪些
- 04-02linux命令历史记录 linux查看历史记录的操作命令
- 04-02linux命令页面 linux命令页面中文
阅读排行
本栏相关
- 04-02linux关闭串口命令 关闭linux端口命令
- 04-02linux文件命令重命名 linux重命名文件名
- 04-02linux中jobs命令 shell jobs命令
- 04-02linux命令注入过滤 linux 代码注入
- 04-02linux依次执行命令 linux命令的执行过程
- 04-02linux命令注销vnc linux命令行注销用户
- 04-02linux命令免输入 linux配置免密登录
- 04-02软交换linux命令 软交换网络主要协议
- 04-02linux命令历史记录 linux查看历史记录的
- 04-02linux命令页面 linux命令页面中文
随机阅读
- 04-02jquery与jsp,用jquery
- 01-10SublimeText编译C开发环境设置
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10C#中split用法实例总结
- 01-11ajax实现页面的局部加载
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10使用C语言求解扑克牌的顺子及n个骰子