최근 NetInstall CD를 사용하여 몇 가지 CentOS 7 설치를 설치했는데 모든 것이 순조롭게 진행되어 설치가 완료되었고 서버에 액세스할 수 있었습니다. 그러나 SSH를 사용하여 서버에 연결하려고 하면 다음과 같은 메시지가 나타납니다.
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
실제로 "locale"을 입력하면 다음과 같은 결과가 나타납니다.
# locale
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
LANG=en_US.utf8
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
로 설정:
# cat /etc/locale.conf
LANG="en_US.utf8"
[root@moria ~]# localectl list-locales | grep en_US
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
그다지 화려하지는 않습니다. 바로 업데이트된 CentOS입니다.
설정하려고 하면 다음과 같은 결과가 나타납니다.
# localectl set-locale LC_TYPE=en_US.utf8
Failed to issue method call: Invalid Locale data.
그래서 내 질문은: 내가 무엇을 놓치고 있는 걸까요? 올바르게 설정하는 방법. 매우 감사합니다!
답변1
방금 비슷한 문제가 발생했습니다. 해결 방법은 예상 언어 팩을 설치하는 것입니다.
yum install glibc-langpack-en.x86_64
참고: CentOS 8에 있지만 솔루션은 CentOS 7에서도 비슷할 것 같습니다.
답변2
LC_CTYPE 변수가 잘못 정의된 것 같습니다. 그것은해야한다:
LC_CTYPE="en_US.UTF-8"
바꾸다
LC_CTYPE=UTF-8
RobotJohnny가 말했듯이 이는 SSH 클라이언트와 관련이 있을 수 있습니다.