SSH登录后提示LC_ALL: cannot change locale (en_US.UTF8) 的解决办法
错误大概如下:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LC_ALL: cannot change locale (en_US.UTF8)
解决方法:
sudo localedef -i en_US -f UTF-8 en_US.UTF-8
关于Locale的解释:
locale把按照所涉及到的文化传统的各个方面分成12个大类,这12个大类分别是:
1、语言符号及其分类(LC_CTYPE)
2、数字(LC_NUMERIC)
3、比较和排序习惯(LC_COLLATE)
4、时间显示格式(LC_TIME)
5、货币单位(LC_MONETARY)
6、信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(LC_MESSAGES)
7、姓名书写方式(LC_NAME)
8、地址书写方式(LC_ADDRESS)
9、电话号码书写方式(LC_TELEPHONE)
10、度量衡表达方式 (LC_MEASUREMENT)
11、默认纸张尺寸大小(LC_PAPER)
12、对locale自身包含信息的概述(LC_IDENTIFICATION)。
所以说,locale就是某一个地域内的人们的语言习惯和文化传统和生活习惯。一个地区的locale就是根据这几大类的习惯定义的,
这些locale定义文件放在 /usr/share/i18n/locales 目录下面,例如en_US, zh_CN and de_DE@euro都是locale的定义文件,
这些文件都是用文本格式书写的,你可以用写字板打开,看看里边的内容,当然出了有限的注释以外,大部分东西可能你都看不懂,
因为是用的Unicode的字符索引方式。
更多详细解释可参考这篇:https://www.cnblogs.com/wn1m/p/10837609.html