Tente
grep -r "zh_CN.GB18030" /etc
e veja onde é definido.
Estou executando um servidor CentOS 5 e a localidade padrão atual parece estar sempre definida como:
LANG=zh_CN.GB18030
LC_CTYPE="zh_CN.GB18030"
LC_NUMERIC="zh_CN.GB18030"
LC_TIME="zh_CN.GB18030"
LC_COLLATE="zh_CN.GB18030"
LC_MONETARY="zh_CN.GB18030"
LC_MESSAGES="zh_CN.GB18030"
LC_PAPER="zh_CN.GB18030"
LC_NAME="zh_CN.GB18030"
LC_ADDRESS="zh_CN.GB18030"
LC_TELEPHONE="zh_CN.GB18030"
LC_MEASUREMENT="zh_CN.GB18030"
LC_IDENTIFICATION="zh_CN.GB18030"
LC_ALL=zh_CN.GB18030
Quando eu corro
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
As coisas parecem funcionar bem até eu reiniciar meu sistema ou relogar; volta para o chinês novamente. Eu verifiquei minha configuração do / etc / sysconfig / i18n e ele lê:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
Não consigo descobrir outras maneiras de definir a localidade do sistema padrão. Eu não quero fazê-lo em .bashrc ou .bash_profile porque eu quero que ele seja definido globalmente para o sistema. O que fazer?
Tags localization linux centos redhat