📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법
리눅스[Linux] | 2019. 6. 16. 14:15

[Linux] CentOS 로케일(Locale) 설정 확인 및 변경 방법. 언어 변경하기

CentOS 로케일(Locale) 설정 확인 및 변경 방법. 언어 변경하기

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

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

Locale 설정 확인하기

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

# locale

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

Locale 설정 확인하기 두번째 방법

LANG 변수는 환경변수이므로 echo 명령어를 통해서도 확인이 가능합니다.

# echo $LANG

Locale 변경하는 방법

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

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

# LANG=en_US.UTF-8

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

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

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

localectl로 설정 가능한 로케일 목록 확인하기

설정 가능한 목록을 확인할때에는 localectl 명령어에 list-locales 값을 주면 됩니다.

# localectl list-locales
# localectl list-locales | grep ko

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

localectl 명령어로 로케일 변경하기

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

# localectl set-locale "LANG=ko_KR.UTF-8"

Locale 설정 확인하기(CentOS7 미만)

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

# locale

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

사용 가능한 Locale 확인하기

사용 가능한 Locale 목록은 -a 옵션을 이용하면 됩니다. 목록이 길게 출력되니 grep을 함께 이용하면 편리합니다.

# locale -a | grep ko
도로락

도로락

Writer

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