CentOS 로케일(Locale) 설정 확인 및 변경 방법. 언어 변경하기
Locale은 현재 시스템의 설정되어 있는 국가, 언어, 숫자(현금 표기 등의), 날짜 시간 표기 형식 , 시간대 를 포함한 설정 집합입니다. 이 Locale이란것은 운영체제 시스템에서만 사용하는것이 아니라 다국어를 지원하는 프로그램 작성시에도 많이 쓰입니다. 예를 들어 Java 등의 언어에서도 날짜 객체를 구하는데에 특정 Locale에 종속된 날짜 객체를 얻어낼 수 있습니다.

Locale의 언어나 국가는 특정 코드를 통해서 다루는데, 이는 RFC 3066에 정의되어 있으므로 각 국가나 언어코드가 궁금하시면 RFC 3066을 검색하여 얻을 수 있습니다. 예를 들어 우리나라(대한민국)의 경우 국가코드는 'KR' 이며 언어는 'ko-KR' 로 표기합니다.



Locale 설정 확인하기
Locale 설정은 간단하게 locale 명령어를 통해 확인할 수 있습니다. 
# locale
cs

Locale에는 다양한 항목들이 있는데, 언어와 문자셋에 관련된 항목은 LANG 변수입니다. LANG 변수값에 언어는 한국어이고 문자셋은 UTF-8을 사용중이라는것을 알 수 있습니다.





Locale 설정 확인하기 두번째 방법
LANG 변수는 환경변수이므로 echo 명령어를 통해서도 확인이 가능합니다.
# echo $LANG
cs






Locale 변경하는 방법
Locale 변경하는 방법을 알아보겠습니다. locale --help를 입력해보면 명령어에 대한 설명이 한글로 출력되는것을 볼 수 있는데, 이는 현재 Locale 설정이 한국어로 되어있기 때문입니다. 




이 설정을 영어로 변경한 후에 다시 --help를 출력해 보도록 하겠습니다. 변경 방법은 간단하게 LANG 환경변수를 변경하는것입니다. 기존 한국어 설정인 ko_KR.UTF-8에서  en_US.UTF-8으로 변경하였습니다.
# LANG=en_US.UTF-8
cs




언어가 한국어로 되어있는데 특정명령어의 도움말이 영어로 나올 수 있습니다. 이는 언어 설정이 잘못되었다기 보다 명령어의 도움말 자체가 여러 나라의 말(다국어)을 지원하지 않기 때문입니다. 즉 도움말을 영어로만 만들어 놓았기 때문이므로 당황하지 않으셔도 됩니다.





Locale 설정값 표기법
여기서 잠깐 Locale 설정값으로 ko_KR.UTF-8을 주었는데, 앞의 ko_KR이 나라와 언어 설정이며, 뒤의 UTF-8이 문자셋 설정이라는 것을 알 수 있습니다.




localaectl 명령어 이용하기(CentOS7 이상)
CentOS 7 버전 부터는 키보드 및 Locale 세팅을 위한 localectl 명령어를 제공합니다. CentOS 7 이전 버전에서는 locale 명령어를 사용해야 합니다. 로케일 설정은 /etc/locale.conf에 저장되며, 따라서 이전 버전의 CentOS에서 사용하던 설정파일인 /etc/sysconfig/i18n은 사라졌습니다.


localaectl 명령어로 시스템 Locale 확인하기
시스템 Locale을 확인하는 방법은 간단히 localectl을 입력하는 것입니다.
# localectl
cs

System Locale 값이 현재 설정된 Locale 값이며, 아래 VC Keymap 가상콘솔의 키맵이나 키보드 레이아웃 설정입니다.




localectl로 설정 가능한 로케일 목록 확인하기
설정 가능한 목록을 확인할때에는 localectl명령어에 list-locales 값을 주면 됩니다.
# localectl list-locales
# localectl list-locales | grep ko  #결과가 많이 출력되므로 grep 등을 사용
cs

다만 목록이 엄청 길게 출력되기 때문에 grep을 사용하면 편리합니다.




localectl 명령어로 로케일 변경하기
localectl 명령어로 로케일을 변경하는 방법은 set-locale 을 이용하는것입니다. 언어를 한국어로 문자셋을 UTF-8로 설정하는 경우 다음과 같이 사용합니다.
# localectl set-locale "LANG=ko_KR.UTF-8"
cs




Locale 설정 확인하기(CentOS7 미만)
CentOS7 미만(CentOS6 이하) 라면 처음 설명했던 locale 명령어를 통해 확인이 가능합니다.
# locale
cs

Locale에는 다양한 항목들이 있는데, 언어와 문자셋에 관련된 항목은 LANG 변수입니다. LANG 변수값에 언어는 한국어이고 문자셋은 UTF-8을 사용중이라는것을 알 수 있습니다.




사용 가능한 Locale 확인하기
사용 가능한 Locale 목록은 -a 옵션을 이용 하면 됩니다. 목록이 길게 출력되니 grep을 합께 이용하면 편리합니다.
# locale -a | grep ko
cs





블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

댓글을 달아 주세요! 질문 환영합니다!

  • 동권 2020.04.20 21:34  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 주인님!

    현재 centos 7 minimal로 설치하였고

    글을 따라 locale을 모두 ko_KR.UTF-8로 바꾸었습니다.

    한글은 여전히 어떻게 입력하는지 잘 모르겠습니다 ㅠ

    또 위와같이 설정을 바꾸니 vimtutor가 깨져보이는 것 같습니다