使用ssh远程登陆 IDC机房服务器,发现老是出现如下告警信息

-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_MESSAGES: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_NUMERIC: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8): No such file or directory

原因分析:

根据上面登录警告提示可知,系统已经设置了默认地区_语言.字符集为en_US.UTF-8,但是在系统中没有定义对应的locale文件,
所以只需要手动生成这个locale文件即可!

解决办法:

[root@centos6-vm01 ~]# vim /etc/environment         #添加下面两行内容
LANG="en_US.UTF-8"
LC_ALL=
[root@centos6-vm01 ~]# source /etc/environment [root@centos6-vm01 ~]# vim /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@centos6-vm01 ~]# cat /etc/sysconfig/i18n 然后执行下面命令,生成 en_US.UTF-8这个字符集的locale文件
[root@centos6-vm01 ~]# localedef -v -c -i en_US -f UTF-8 en_US.UTF-8 如上操作后,再次ssh登陆后就不会出现这条告警信息了。

如果出现:-bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)

解决办法
[root@localhost ~]# vim /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
LC_ALL="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16" 第一行解决了中文乱码问题
第二行解决了"LC_ALL: cannot change locale (zh_CN.UTF-8)"的问题。 [root@localhost ~]# source /etc/sysconfig/i18n 接着安装:
[root@localhost ~]# yum install glibc-common kde-l10n-Chinese 安装之后,重启服务器,上述问题消失。

注意:不同类型的服务器配置方法会有差异,需要根据实际机器情况,多尝试一些方法,才能解决问题。

=======================================================================

也有可能是系统中的glibc和locale的库版本不兼容。
解决办法删除locale库再重建一下,前提是你的文件系统中要有相应的数据文件。

[root@localhost ~]# rm -f /usr/lib/locale/locale-archive
[root@localhost ~]# localedef -i en_US -f ISO-8859-1 -A /usr/share/locale/locale.alias en_US
[root@localhost ~]# localedef -i zh_CN -f GB2312 -A /usr/share/locale/locale.alias zh_CN
[root@localhost ~]# yum -y reinstall glibc-common

======================================================================

再看一个在centos7系统上使用/bin/sh或su命令出现的告警:warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8) ,解决办法如下(注意:这种方法针对的是centos7,centos6系统不一样):

[root@uatblockchain04 ~]# locale
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 在物理机上,只要执行:
[root@localhost ~]# yum -y install kde-l10n-Chinese telnet
[root@localhost ~]# yum -y reinstall glibc-common 还需要修改:
[root@localhost ~]# vim /etc/locale.conf
LC_ALL="zh_CN.UTF-8"
[root@localhost ~]# source /etc/locale.conf ----------------------------------------------------------------------
注意如果是在在Dockerfile里面执行的时候,就不太一样了:
必须执行三个步骤才不会出错
yum -y install kde-l10n-Chinese telnet && \
yum -y reinstall glibc-common &&\
yum clean all && \
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 && \ 或加上
cat /dev/null > /etc/locale.conf && echo "LC_ALL=\"zh_CN.UTF-8\"" > /etc/locale.conf 这样才可以保证中文不会有问题。 其中碰到一个情况:在基础镜像的再安装软件的时候再次碰到这个异常提示 最后的处理方案是:dockerfile构建过程执行警告的地方后,再执行一次
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

ssh登陆服务器locale告警(-bash: warning: setlocale:)的处理方法的更多相关文章

  1. MacOs -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

    1解决iterm远程登录主机报错 -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or ...

  2. [Ubuntu] bash: warning: setlocale: LC_ALL: cannot change locale

    问题症状 -bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf8) 解决方法 本地化是指不同地区用户在键盘上输入不同语言 ...

  3. -bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_COLLATE:

    前几天登录服务器发现出现了这些个警告,一直没时间去处理他,今天难得有空,处理一下并记录下来,希望可以帮助到有需要的朋友. 警告信息如下: Last :: from 10.0.0.1 -bash: wa ...

  4. -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

    本人使用mac系统,命令行工具使用的iterm2,登录自己的云主机的时候 每次都要提示如下错误 -bash: warning: setlocale: LC_CTYPE: cannot change l ...

  5. 【云计算】Docker 镜像如何设置语言环境?bash: warning: setlocale: LC_ALL: cannot change locale (en_US)

    解决方案: # set default language environment RUN locale-gen en_US.UTF- \ && dpkg-reconfigure loc ...

  6. -bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_CN.UTF-8mb4): No such file or directory

    前几天登录服务器发现出现了这些个警告,一直没时间去处理他,今天难得有空,处理一下并记录下来,希望可以帮助到有需要的朋友. 警告信息如下: Last login: Tue May :: from 192 ...

  7. bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

    bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) Q: hubery@roaster:~$ locale loc ...

  8. 拒绝恶意同构ssh登陆服务器脚本

    #!/bin/bash #Deny specified IP access #IP:who is fail to login sever SECURE_LOG=/var/log/secure #通过s ...

  9. rsa证书ssh登陆服务器

    好久不用,又生疏了. 今晚实操了一下,作一个记录. 使用rsa的密钥对登陆linux服务器,主要是为了安全. 这种证书级别的登陆,比最复杂的root用户名和帐号的安全性都要高一个等级. 至少服务器不会 ...

随机推荐

  1. 反射型XSS+文件上传+CSRF—DVWA

    在学习的过程中,想到将几种漏洞进行组合练习,记录下学习过程.大佬请绕过!谢谢!! 测试环境:DVWA,安装方法参考上一篇:https://www.cnblogs.com/aq-ry/p/9220584 ...

  2. python基础 - 元组操作

    元组 tuple 元组是不可变对象. 元组初始化 t = tuple() t = () t = tuple(range(1,7,2)) t = (1,2,3,4,5,1) t = (1,) t = ( ...

  3. Unity3d Platformer Pro 2D游戏开发框架使用教程

    前言 Platformer Pro框架是Unity3d AssetStore上一个非常强大和受欢迎的2d游戏开发框架,这个教程的大部分翻译于官方文档,一部分是工作总结,还有一部分是视频教程文档化.这个 ...

  4. 实用的php清除html,php去除空格与换行,php清除空白行和换行,提取页面纯文本

    实用的php清除html,换行,空格类,php去除空格与换行,php清除空白行和换行,提取页面纯文本内容 方法一: function DeleteHtml($str) { $str = trim($s ...

  5. hadoop系列 第三坑: Task process exit with nonzero status of 137

    跑MR的时候抛出异常: java.lang.Throwable: Child Error at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.j ...

  6. 【Nginx】什么是Nginx?为什么使用Nginx?

    转文章 一.前言 为毛要用nginx服务器代理,不直接用tomcat 7.0,还做多了一次接请求? 这个是我想问的,公司的新项目是要用Nginx+tomcat7+jdk开发的,用户命名可以直接访问to ...

  7. Problem UVA1572-Self-Assembly(拓扑排序)

    Problem UVA1572-Self-Assembly Accept: 196  Submit: 1152 Time Limit: 3000 mSec Problem Description Au ...

  8. excel中mid函数的用法

    函数名称:MID主要功能:从一个文本字符串的指定位置开始,截取指定数目的字符.使用格式:MID(text,start_num,num_chars)参数说明:text代表一个文本字符串:start_nu ...

  9. WebService(基于AXIS的WebService编程)

    一.服务端代码 1.创建Maven工程 注意pom.xml文件的配置,需要引入axis的相关包 <project xmlns="http://maven.apache.org/POM/ ...

  10. jQuery 自定义函数写法分享

    时间:02月20日   自定义主要通过两种方式实现$.extend({aa:function(){}});$.fn.extend({aa:function(){}});调用的方法分别是:$.aa(); ...