我最近使用 NetInstall CD 安装了几个 CentOS 7,一切都很顺利,安装完成,我可以访问服务器。但是,当我随后尝试使用 ssh 连接到服务器时,我得到:
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
确实输入“locale”我得到:
# locale
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
LANG=en_US.utf8
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
设置为:
# cat /etc/locale.conf
LANG="en_US.utf8"
[root@moria ~]# localectl list-locales | grep en_US
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
所以没什么花哨的,它是一个开箱即用的更新 CentOS。
尝试设置它我得到:
# localectl set-locale LC_TYPE=en_US.utf8
Failed to issue method call: Invalid Locale data.
所以我的问题是:我错过了什么?如何正确设置。非常感谢!
答案1
我刚刚遇到了类似的问题。解决方案是安装预期的语言包:
yum install glibc-langpack-en.x86_64
注意:它是在 CentOS 8 上,但我猜解决方案在 CentOS 7 上会类似。
答案2
您的 LC_CTYPE 变量似乎定义不正确。它应该是:
LC_CTYPE="en_US.UTF-8"
代替
LC_CTYPE=UTF-8
正如 RobotJohnny 所说,这可能与您的 SSH 客户端有关。