[server] 데비안 스퀴즈에서 로케일 설정을 수정하는 방법

때때로 로케일 오류가 발생하고 문제를 해결하기 위해 dpkg-reconfigure locale을 실행하려고했습니다. 출력은 다음과 같습니다.

:~$ 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").

/ usr / bin / locale을 찾았지만 시스템에는 없습니다. 그것을 만들어야합니까? 거기에 무엇을 넣습니까?

또한 그의 문제의 원인이 sshd_config 파일에 있다고 말하는 관련 질문 을 발견했습니다 . 파일에는 다음과 같은 항목이 있습니다.

AcceptEnv LANG LC_*

주로 VPS에 문제가 발생할 수 있다는 점에 관심이 있습니다. 어떻게해야합니까? 감사!



답변

먼저:

sudo apt-get purge locales

그때:

sudo aptitude install locales

그리고 유명한 :

sudo dpkg-reconfigure locales

이것은 로케일 시스템을 제거한 다음 로케일을 다시 설치하고 libc6을 2.19에서 2.13으로 다운 그레이드합니다. 이것이 문제입니다. 그런 다음 로케일을 다시 구성하십시오.


답변

콘솔에서가 아닌 박스로 SSH 를 연결할 때 이런 일이 발생하면 로컬 컴퓨터에서 ssh 클라이언트를 재구성하십시오 . Mac OS X에서 예를 들어 / private / etc / ssh_config를 편집하고 주석 처리하십시오.

# SendEnv LANG LC_*

Rasberry Pi 게시판 에 사육사의 게시물 덕분에 .


답변

나는이 문제를 오랫동안 가지고 있었고 dpkg-reconfigure locales, locale-gen 등에 관한 모든 일반적인 조언은 도움이되지 못했습니다. 그래서 나는 환경 변수로 약간 놀았고, 내가 찾은 것은 시스템이 LC_CTYPE환경 변수 에서 붕을 that다는 것입니다! UTF-8올바른 값이 아닙니다. en_US.UTF-8고정하도록 설정 .

변경 사항을 영구적으로 유지하기 위해

update-locale LC_CTYPE=en_US.UTF-8

에 쓴다 /etc/default/locale. 그런 다음 시스템을 재부팅하여 완전히 적용하십시오.


답변

나는 이전 데비안 설치에서 이것을 보았고, 성가신 동안 문제를 일으키는 것을 본 적이 없습니다.

만약

  /usr/bin/locale

누락 된 경우 (루트로) 시도하십시오.

  apt-get install libc-bin

/ usr / bin / locale을 제공하는 libc-bin을 설치해야합니다.

sshd_config의 AcceptEnv 줄은 매우 표준 적이며 여기서 문제의 원인이되어서는 안됩니다.


답변

Manoj와 같이 다음 작업을 수행했지만 # ~ / .bashrc에 추가했습니다.

export LC_ALL=en_US.utf8
export LANGUAGE=en_US.utf8


답변

원격 시스템에 ssh하는 동안 오류가 발생하고 sshd_config를 변경하여 원격 시스템을 수정하지 않으려는 경우 로컬 시스템에서 다음을 수행 할 수 있습니다 (bash 가정)

export LC_ALL=en_US
export LANGUAGE=en_US

그리고 ssh user@remote


답변

새로운 데비안 설치 (최소) 로케일에서 완전히 누락되었습니다. 그것을 설치하고 ( aptitude install locales) 실행 locale-gen하면 속임수가되었습니다. Chad Feller가 언급했듯이 패키지를 locales먼저 설치 했는지 확인하십시오 .