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,完事了。

以上就是全部相关知识点,希望我们整理的内容能够帮助到大家。

(0)

相关推荐

  • Linux下MySQL 5.5/5.6的修改字符集编码为UTF8的方法

    一.登录MySQL查看用SHOW VARIABLES LIKE 'character%'; 下字符集,显示如下: +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_con

  • 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服务器,因历

  • mysql 登录时闪退的问题解决方法

    mysql 登录时闪退的问题解决方法 之前mysql用着好着,可是今天在启动mysql后输入密码出现了闪退,在任务管理器中发现mysql服务没有启动,当手动启动时提示拒绝访问.在网上查找原因发现问题所在. 问题原因:mysql服务没有安装. 解决办法: 在cmd操作下找到mysql的安装目录(注意要用管理员身份运行cmd) 在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令 然后仍然以管理员的权限 net start mysql 开启Mysql服务了. 输入m

  • ubuntu 安装linux 下vmVMware tools 步骤及问题解决方法

    一. 菜单栏 "虚拟机" --> "设置 " 使用linux.so镜像文件 此文件在vmware workstation 的安装目录.并且打开CD/DVD的连接. 二.终端执行如下命令 mount /dev/cdrom /mnt/cdrom 挂载 cd /mnt/cdrom cp VMwareXXX.tar.gz /tmp VMwareXXX.tar.gz 为自己vmware tools安装包, 复制到/tmp 目录下 umount /mnt/cdrom 解除

  • mysql字符集乱码问题解决方法介绍

    character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. character-set-table:数据库表字符集. 优先级依次增加.所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集. character-set-client:客户端的字符集.客户端默认字符集.

  • Linux(Ubuntu) adb 无法识别的问题解决方法

    Linux(Ubuntu) adb 无法识别的问题 一般开发公司都开发员都有同时处理不同开发板,因为项目迭代需要.但是不同的开发板的USB并不同,导致adb无法识别.下面给出解决方法. 步骤一: 打开终端,输入lsusb 上面的2207:0006就是我们新的开发板的USB的ID,不知道如何识别的同学 ,可以通过反复的插拔查找哪个是变化值.我们需要复制:前缀的2207,新增到配置文件里面. 步骤二: 修改51-android.ruls 配置文件 在终端上输入:sudo vim /etc/udev/

  • Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法

    前几天在阿里云买了个服务器 ,准备自己玩玩,现将最新版mysql(5.7.16)安装步骤,以及遇到问题及解决过程分享如下: 第一步:下载rpm包 MySQL官网下载:http://dev.mysql.com/downloads/mysql/ 但如果你的下载网速不好的话也可以点下面的链接下载自己想要的版本 http://mirrors.sohu.com/mysql/MySQL-5.7/ 我用的是(CentOs6.5)下载的是: mysql-5.7.16-1.el6.x86_64.rpm-bundl

  • linux下禁止root远程登录和添加新用户的方法

    一.添加和root权限一样的用户 1. adduser admin passwd  admin (修改密码) 然后输入密码   (密码简单了通不过) 系统提示输入确认密码后再输入一次.OK添加成功. 2.修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示: vim /etc/sudoers ## Allow root to run any commands anywhere root ALL=(ALL) ALL admin ALL=(ALL) ALL 这个文件只

  • linux 安装 mysql 8.0.19 详细步骤及问题解决方法

    最近买了个腾讯云服务器,搭建环境. 该笔记用于系统上未装过mysql的干净系统第一次安装mysql.自己指定安装目录,指定数据文件目录. linux系统版本: CentOS 7.3 64位 安装源文件版本:mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz mysql安装位置:/software/mysql 数据库文件数据位置:/data/mysql 注:未防止混淆,这里都用绝对路径执行命令 除了文件内容中的#,这里所有带#都是linux命令 >mysql 是m

  • php5.3提示Function ereg() is deprecated Error问题解决方法

    本文实例讲述了php5.3提示Function ereg() is deprecated Error问题解决方法.分享给大家供大家参考.具体实现方法如下: 一.问题: PHP 5.3 ereg() 无法正常使用,提示"Function ereg() is deprecated Error"是因为它长ereg 函数进行了升级处理,需要像preg_match使用/ /来规则了,当然也是php5.3把ereg给废掉的节奏了. PHP 5.3 ereg() 无法正常使用,提示"Fun

  • Yii框架用户登录session丢失问题解决方法

    本文实例讲述了Yii框架用户登录session丢失问题解决方法.分享给大家供大家参考,具体如下: 最近做项目,使用的是YII框架,用户的登录总是出现有时候能登录,有时候不能登录的情况.调试了很多次,开始以为是服务器配置问题,后来怎么测试都不行,还是出现有时候登录session丢失的情况,没办法,在群里面问,发帖,请教大拿,最后都没有发现什么问题. 无意间在网上看到一个人说yii session丢失的问题.终于解决了,解决方法: 初步解决方法: 打开文件 yii\framework\web\aut

随机推荐