Como corrigir as configurações de localidade no squeeze Debian

14

Ocasionalmente, eu recebo erros de localidade e tentei executar o dpkg-reconfigure locales para corrigir o problema. Aqui está a saída:

:~$ sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
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
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

Eu procurei / usr / bin / locale, mas ele não existe no meu sistema. Preciso criá-lo? O que eu coloco lá?

Também encontrei uma pergunta relacionada que diz que a causa do problema dele estava no sshd_config Arquivo. O arquivo tinha a seguinte entrada:

AcceptEnv LANG LC_*

Estou preocupado principalmente que isso possa causar problemas para o meu VPS; caso contrário, se não for nada importante, ficarei feliz em ignorar o problema. O que devo fazer? obrigado!

    
por blogjunkie 17.08.2011 / 05:18

10 respostas

8

primeiro:

sudo apt-get purge locales

então:

sudo aptitude install locales

e o famoso:

sudo dpkg-reconfigure locales

Isso libera o sistema de localidades e, em seguida, reinstala os códigos de idioma e reduz a versão libc6 de 2.19 para 2.13, que é o problema. Em seguida, configura as localidades novamente.

    
por 18.09.2014 / 07:41
7

Se isso acontecer quando o SSHing estiver na sua caixa, mas não no console, tente reconfigurar seu cliente ssh (na sua máquina local). No Mac OS X, por exemplo, editar / private / etc / ssh_config e comentar

# SendEnv LANG LC_*

Obrigado ao post de bredman no Boletim Rasberry Pi .

    
por 28.11.2013 / 13:13
7

Eu tive esse problema por um longo tempo e todos os conselhos usuais sobre o dpkg-reconfigure locales, locale-gen, etc não ajudaram. Então eu brinquei um pouco com as variáveis de ambiente, e o que eu descobri foi que o sistema estava funcionando na variável de ambiente LC_CTYPE ! UTF-8 não é um valor válido para isso. Definir como en_US.UTF-8 corrigiu.

Para tornar a alteração permanente, eu corri

update-locale LC_CTYPE=en_US.UTF-8

que grava em /etc/default/locale . E então reinicie o sistema para que ele tenha efeito completamente.

    
por 06.11.2012 / 19:11
2

Já vi isso antes em instalações mais antigas do Debian e, apesar de irritante, nunca vi isso causar um problema.

Se

  /usr/bin/locale 

está faltando, tente (como root):

  apt-get install libc-bin

que deve instalar o libc-bin, fornecendo / usr / bin / locale.

Essa linha AcceptEnv no seu sshd_config é bem padrão, e não deve ser a causa do seu problema aqui.

    
por 17.08.2011 / 07:26
2

Fiz o seguinte, como Manoj, mas o adicionei a # ~ / .bashrc:

export LC_ALL=en_US.utf8
export LANGUAGE=en_US.utf8
    
por 20.01.2012 / 10:53
1

Se você estiver recebendo os erros enquanto estiver fazendo ssh em um sistema remoto, e não quiser modificar o sistema remoto (alterando o sshd_config, por exemplo), você pode fazer o seguinte no seu sistema local (assumindo o bash )

export LC_ALL=en_US
export LANGUAGE=en_US

e, em seguida, ssh user@remote

    
por 20.11.2011 / 23:55
1

Na minha nova instalação Debian (mínima), as localidades estavam completamente ausentes. Instalá-lo ( aptitude install locales ) e executar locale-gen foi o suficiente. Então, pessoal, faça como Chad Feller mencionou, mas verifique se o pacote locales foi instalado primeiro.

    
por 17.07.2012 / 13:08
0

Se você desativou a autenticação do PAM para ssh em /etc/ssh/sshd_config ( UsePAM no ), a configuração responsável em /etc/pam.d/login não é eficaz:

session required pam_env.so readenv=1 envfile=/etc/default/locale

O resultado: /etc/default/locale parece não ter efeito.

Portanto, você precisa configurar seu cliente para enviar os LANGs vars ou exportar o env vars nos scripts de perfil como ~/.profile , ~/bashrc etc.

Mais: link

    
por 20.01.2013 / 21:01
0

Eu estava usando o VPS alemão e não podia alterar a localidade porque não havia nenhum pacote de idioma inglês instalado.

Após a instalação, pude finalmente alterar o local

aptitude install language-pack-en
    
por 20.04.2015 / 19:10
0

nos sistemas Debian isso resolverá seu problema:

apt-get install locales-all

nos sistemas Ubuntu, instale um pacote de idiomas específico, por exemplo:

apt-get install language-pack-en

locale-gen en_US.UTF-8

    
por 21.08.2017 / 12:33