记录一个centos本地语言问题

记录一个centos本地语言问题

不知道怎么搞的,每次登录服务器输入命令都会携带一些后缀提示,像牛皮癣一样很难受。

[root@ip home]# ls
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

Google了很多都没有解决,比如:
https://www.cnblogs.com/kevingrace/p/8191929.html

然后今天在处理ssh被暴力破解的问题时发现了一些东西:

[root@ip home]# tail -f /var/log/secure
refused connect from 164.92.129.174 (164.92.129.174)
pam_env(sshd:setcred): Unable to open env file: /etc/environment: No such file or directory
refused connect from 45.7.196.67 (45.7.196.67)
refused connect from 51.250.48.11 (51.250.48.11)
pam_env(sshd:setcred): Unable to open env file: /etc/environment: No such file or directory
pam_env(sshd:setcred): Unable to open env file: /etc/environment: No such file or directory
refused connect from 158.248.79.81 (158.248.79.81)

提示没有/etc/environment这个文件,touch一个就好了,但是语言问题还在,还是再研究研究,于是看到了这篇文章:

https://www.cnblogs.com/ifantastic/p/4565822.html

文章里说出现以上问题是因为服务器无法理解 en_US.UTF-8 字符集,因此首先要在服务器上生成 en_US.UTF-8 字符集。

sudo locale-gen en_US.UTF-8

但是这个是Ubuntu系统的命令,于是又找到这篇文章:

https://unix.stackexchange.com/questions/140299/locale-gen-command-in-centos6

Centos/Fedora中不存在locale-gen命令。

您必须使用localedef:

localedef -v -c -i en_US -f UTF-8 en_US.UTF-8

运行命令,生成相关的字符集,这个时候再来回到最初的文章,设置/etc/environment

vim /etc/environment
#添加下面两行内容
LANG="en_US.UTF-8"
LC_ALL=
source /etc/environment

随便输入ls命令,终于没有乱七八糟的尾巴了。tail -f /var/log/secure也是正常的。

困扰了好久的问题,在未来某一天无意中解决还是挺开心的(还是菜),先不深入研究了,就这样。

你可能感兴趣的:(数据库及其他,linux,centos)