03. 로케일/시간대 설정

로케일 설정

콘솔에서 에러 메시지나 각종 로그를 볼 때 영문 로케일 en_US.UTF-8로 지정하면 어떤 접속 환경에서도 깨질 염려가 없습니다.

/var/lib/locales/supported.d/en 파일을 열어 en_US.UTF-8 UTF-8 줄만 남기고 모두 삭제합니다.

# vi /var/lib/locales/supported.d/en

이 문서에서 vim 편집기는 별도로 설명하지 않습니다만 콘솔에서 파일 편집을 위해서 반드시 숙지하도록 합니다.

locale-gen 명령어로 en_US.UTF-8ko_KR.UTF-8 로케일을 설치합니다.

# locale-gen --purge en_US.UTF-8 ko_KR.UTF-8
Generating locales (this might take a while)...
  en_US.UTF-8... done
  ko_KR.UTF-8... done
Generation complete.

--purge 옵션은 나열한 로케일만 놔두고 나머지 로케일은 삭제하는 옵션입니다.

Django에서는 i18n gettext를 사용하려면 한국어 로케일이 설치되어 있어야 하기 때문에 ko_KR.UTF-8 로케일도 같이 설치해둘 필요가 있습니다.

locale-gen 명령어 대신에 ncurses 라이브러리 기반 프로그램 dpkg-reconfigure locales 명령어로도 로케일을 선택 설치할 수도 있습니다.

끝으로 LANG 로케일 환경변수를 영문으로 설정합니다.

# update-locale LANG=en_US.UTF-8

또한 참고로 향후 Django 배포 시에 아래와 같은 에러가 발생할 수 있습니다.

CommandError: Can't find msgfmt. Make sure you have GNU gettext tools 0.15 or newer installed.

따라서 gettext 패키지를 설치해두면 좋습니다.

# apt-get install gettext

시간대 설정

시간대 목록 확인

# timedatectl list-timezones

아시아/서울 시간대 지정

시간대를 지정하기 위해 다음과 같이 명령합니다.

# timedatectl set-timezone Asia/Seoul

또한 우분투에서는 아래와 같이 ncurses 라이브러리 기반 프로그램 dpkg-reconfigure tzdata 명령어로도 시간대를 지정할 수도 있습니다.

# dpkg-reconfigure tzdata

ntp 시스템 시각 동기화

최근 우분투에서는 ntpdate 대신에 timedatectl을 사용합니다.

timedatectl이 기본 설치되어 부팅할 때 서버의 시각을 동기화합니다.

# timedatectl set-ntp 1

최종 수정일시: 2019-02-15 00:02

blog comments powered by Disqus