使用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. ping 127.0.0.1和ping本地ip分别测试什么?

    ping 127.0.0.1 是你本地的回环地址! 实际上只要是127.0.0.1到127.255.255.255都是回环地址!都是可以PING检查的! 它能ping通,说明你的TCP/IP协议栈没问 ...

  2. 组件的三大属性state,props,refs与事件处理

    组件的三大属性state state是组件对象最重要的属性, 值是对象(可以包含多个数据),组件被称为"状态机", 通过更新组件的state来更新对应的页面显示(重新渲染组件) 初 ...

  3. cf C. Finite or not? 数论

    You are given several queries. Each query consists of three integers pp, qq and bb. You need to answ ...

  4. NOIP2018 AFO记

    仿佛"距NOIP2018还剩30天"的倒计时还在昨天,没想到这一天来的这么快. 考前在机房嘻嘻哈哈打打闹闹,开玩笑说道"我要AFO了",心里暗暗发誓做好自己,不 ...

  5. dns与wins的区别

    将主机名字解析称为ip地址有四种办法: dns.winds.hosts文件.lmhosts文件 dns和hosts是很多系统cout采用的一个名称解析的方法,wins和lmhosts是微软的操作系统此 ...

  6. ucml设置列表分页类型

    aginationCtype 分页栏显示效果配置,取值为UCML.Pagination或UCML.PaginationMin,默认为UCML.PaginationMin,在视图显示前设置. 1.pag ...

  7. python3 列表的赋值和深浅拷贝

    '''列表赋值:不会创建新对象两个列表的内存地址一样'''# lst1 = ["apple", "banana", ["blueberry" ...

  8. Mysql主从同步(复制)(转)

    文章转自:https://www.cnblogs.com/kylinlin/p/5258719.html 目录: mysql主从同步定义 主从同步机制 配置主从同步 配置主服务器 配置从服务器 使用主 ...

  9. mysql order by 排序的问题

    参考博客http://blog.csdn.net/hollboy/article/details/13296601 mysql order by 的排序在今天时候遇到了问题 情景是:将排序的字段设置成 ...

  10. 关于pyquery小知识点

    #表示的是取html中的id元素, . 表示的是取html中的class元素. 如果是标签,就直接用标签名 而它们之间的空格,则表示嵌套关系 单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪 ...