黑帽联盟

 找回密码
 会员注册
查看: 2183|回复: 1

[基础服务] CentOS下解决ssh登录 locale 警告

[复制链接]

908

主题

38

听众

3382

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    难过
    2026-8-1 01:43
  • 签到天数: 1704 天

    [LV.Master]伴坛终老

    今天做虚拟化的时候,本地ssh登录虚拟出来的机器,报了如下错误:
    -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 director

    这种警告当然不能容忍,所以要fix it.

    解决方法:
    vim /etc/environment

    LANG=en_US.utf-8
    LC_ALL=

    保存以上内容

    执行以下语句:
    source /etc/environment

    输入以下命令,重新登录就不会出现这个问题了。
    localedef -v -c -i en_US -f UTF-8 en_US.UTF-8


    但是到底是什么原因导致这样的警告?
    首先看我们的登录警告提示:-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory.因为我们已经设置了默认地区_语言.字符集为 en_US.UTF-8,但是在系统中没有定义这个问题。

    我们可以通过运行 locale -a 查看系统当前支持的locale定义。在上面我们看到,我们通过运行“localedef -v -c -i en_US -f UTF-8 en_US.UTF-8” 生成相应的locale配置文件。之后系统就不会报错了。

    49

    主题

    1

    听众

    252

    积分

    至尊VIP

    Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2018-7-15 21:02
  • 签到天数: 215 天

    [LV.7]常住居民III

    不懂linux,唉
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部