Configurações de localidade do Debian Squeeze

1

Eu tenho um problema com uma imagem Debian ligeiramente customizada na qual estou tentando fazer um trabalho sem cabeça. O problema é que a lista de localidades instaladas foi reduzida para isso:

C
en_GB
en_GB.iso88591
en_GB.iso885915
en_GB.utf8
POSIX

No entanto, quando eu faço o login como root (com um perfil que não seja de baunilha), eu acho isso:

~# set | grep LC_
LC_CTYPE=en_US.UTF-8

Essa é a única variável de ambiente LC_ definida, e presumivelmente isso significa que ela está sendo explicitamente definida em algum lugar (e considerando que / etc / default / locale contém apenas LANG = en_GB, não consigo ver nenhuma outra alternativa). No entanto, não consigo ver onde está sendo definido, e o fato de estar errado está impedindo, por exemplo, que o postgresql-8.4 seja instalado. Eu sei que posso fazer um

LC_CTYPE=en_GB apt-get install postgresql-8.4

para contornar isso, mas eu realmente gostaria de entender de onde vem essa configuração, e eu realmente não gosto da idéia de instalar um locale desnecessário para fazer isso ir embora. Então: de onde vem essa configuração LC_CTYPE e como faço para que ela desapareça?

    
por regularfry 21.07.2011 / 16:32

2 respostas

1

Para referência futura, encontrei o problema e não tem nada a ver com o Bash.

O problema é que o sshd_config tem a seguinte entrada:

AcceptEnv LANG LC_*

Isso permite que minhas variáveis de ambiente locais denominadas LC_whatever (incluindo LC_CTYPE, a problemática) substituam as configurações remotas; assim, quando eu conectei, o processo ssh definiu suas variáveis de ambiente de acordo e o processo bash as herdou obedientemente. Em nenhum lugar neste processo há uma verificação de que a configuração LC_CTYPE é válida no lado distante da conexão SSH.

Minha correção temporária é especificar um LC_CTYPE bom e conhecido no comando específico que eu executo no lado oposto. Eu não sei qual é a solução "correta" para isso.

    
por 22.07.2011 / 12:36
0

Você pode instalar as localidades ausentes:

apt-get install debconf
dpkg-reconfigure locales

Escolha as localidades que você gostaria de instalar.

    
por 15.07.2012 / 04:55