때때로 로케일 오류가 발생하고 문제를 해결하기 위해 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
먼저 설치 했는지 확인하십시오 .