CentOS Linux Failed to set locale, defaulting to C

时间:2019-11-20 08:52:52  来源:igfitidea点击:

在CentOS Linux中,无法设置区域设置。

运行yum命令时,提示:

Failed to set locale, defaulting to C

语言环境为程序命令和Shell会话定义语言和国家/地区特定的设置。比如日期,时间,数字,货币等的格式。

如何查看locale当前的值?

执行以下命令:

$ locale

如何解决Failed to set locale?

要设置CentOS/Fedora和RedHat Enterprise Linux的i18n文件,需要调用一个名为/etc/profile.d/lang.sh的特殊脚本。

请确保此文件存在:

$ ls -l /etc/profile.d/lang.sh

如果文件存在,则调用它:

$ source /etc/profile.d/lang.sh

检查是否设置了LANG和LC_ shell变量:

$ echo "$LANG"
$ echo "$LC_CTYPE"

如何设置自己的LANG和LC_ALL/LC_CTYPE变量

可以在用户自己的目录中手动设置它,如下所示:

$ vi ~/.bashrc

或者在/etc/profile.d/中的bash/sh/ksh shell中全局设置:

$ sudo vi /etc/profile.d/my-custom.lang.sh

添加下面内容

## US English ##
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_COLLATE=C
export LC_CTYPE=en_US.UTF-8

调用文件,使设置立即生效

$ source /etc/profile.d/my-custom.lang.sh

现在可以重新使用yum命令

$ sudo yum update
$ sudo yum search nginx
$ sudo install nginx