Ubuntu 18.04 Server / 시간대(time zone) 설정하는 방법

Ubuntu 18.04 Server에서 시스템 시간대를 변경하려면 timedatectl list-timezones로 이름을 확인한 뒤 sudo timedatectl set-timezone Asia/Seoul처럼 설정합니다. tzselect는 시간대 이름을 찾는 도구이며, 실행만으로 시스템 전체 설정을 변경하지 않습니다.

시간대와 시스템 시간의 차이

시간대는 같은 시각을 지역의 날짜와 시간으로 표시할 때 적용할 규칙입니다. 예를 들어 Asia/Seoul은 서울의 시간대 이름이며 UTC(협정 세계시)보다 9시간 빠릅니다. 시간대를 바꾸는 것은 일반적으로 표시 규칙을 바꾸는 작업이지 인터넷 시간 서버와 시계를 동기화하는 작업은 아닙니다.

서버에서 현지 시간을 기준으로 작동하는 예약 작업이나 로그 분석이 있다면 변경의 영향을 먼저 확인하세요. 일부 프로그램은 자체 시간대 설정이나 환경 변수를 사용하므로 시스템 설정과 다르게 보일 수 있습니다. Ubuntu 18.04의 일반 보안 지원은 종료되었으므로 Ubuntu 보안 유지보수 일정에서 적용 범위를 확인하고 지원되는 버전으로 이전을 계획하세요.

현재 시간대 확인하기

다음 명령으로 시스템 시간과 시간대 설정을 확인합니다. 변경 전 Time zone에 표시된 이름을 기록해 두면 나중에 되돌릴 수 있습니다.

timedatectl status
date
date -u

timedatectl status는 시스템의 로컬 시간과 UTC, 시간대를 표시합니다. date는 현재 환경에 적용되는 현지 시간을, date -u는 UTC를 표시합니다. 현재 셸에 TZ 환경 변수가 설정되어 있다면 date의 출력이 시스템 기본 시간대와 다를 수 있습니다.

timedatectl로 시스템 시간대 변경하기

먼저 사용 가능한 시간대 이름을 확인합니다. 목록은 설치된 시간대 데이터에 따라 달라질 수 있습니다.

timedatectl list-timezones | grep -F 'Asia/Seoul'

목록에 Asia/Seoul이 있으면 다음 명령으로 시스템 시간대를 설정합니다. 관리자 권한이 필요합니다. 다른 지역이라면 목록에서 확인한 이름으로 바꾸세요.

sudo timedatectl set-timezone Asia/Seoul
timedatectl status

명령이 성공하면 Time zone에 선택한 이름이 표시됩니다. 오류가 나면 이름의 대소문자와 사용 가능한 목록, 관리자 권한을 확인하세요. 시스템이 systemd를 사용하지 않거나 컨테이너에서 설정 변경이 제한된 경우에는 이 명령을 사용할 수 없을 수 있습니다.

원래 시간대로 되돌리려면 변경 전에 기록한 이름을 같은 명령의 인수로 사용합니다. 예를 들어 이전 값이 Etc/UTC였을 때만 다음 명령을 사용하세요.

sudo timedatectl set-timezone Etc/UTC
timedatectl status

이 명령은 /etc/localtime의 시간대 설정을 바꿉니다. 하드웨어 시계(RTC)를 현지 시간으로 유지하도록 설정한 경우에는 RTC에도 영향을 줄 수 있습니다. 자세한 내용은 Ubuntu 18.04 timedatectl 매뉴얼을 참고하세요.

tzdata와 tzselect 사용하기

대화식 메뉴로 시스템 시간대를 설정하려면 다음 명령을 사용할 수도 있습니다. 지역 목록에서 Asia를 고르고 도시 목록에서 Seoul을 선택합니다. 메뉴의 번호는 환경에 따라 다를 수 있으므로 화면에 표시된 항목을 확인하세요.

sudo dpkg-reconfigure tzdata

완료한 뒤 timedatectl status로 시스템 시간대를 다시 확인합니다. 반면 tzselect는 선택한 시간대 이름을 출력할 뿐 시스템 전체 시간대를 바꾸지 않습니다. 지역과 도시를 선택해 나온 이름을 timedatectl set-timezone에 사용할 수 있습니다.

tzselect

특정 명령만 다른 시간대로 실행하려면 해당 명령에 TZ를 지정할 수 있습니다. 다음 예제는 그 한 번의 date 실행에만 적용되며 시스템 설정을 바꾸지 않습니다.

TZ=Asia/Seoul date

export TZ=Asia/Seoul은 현재 셸과 그 셸에서 시작하는 프로그램에 영향을 주며, 시스템 전체 설정은 변경하지 않습니다. unset TZ로 현재 셸의 변수를 해제할 수 있습니다. 자세한 내용은 Ubuntu tzselect 매뉴얼을 참고하세요.

화면 설정과 변경 후 점검

그래픽 데스크톱이 설치되어 있다면 설정의 Date & Time에서 시간대를 선택할 수도 있습니다. 자동 시간대 설정이 켜져 있으면 수동 선택이 제한될 수 있습니다. 메뉴 위치는 데스크톱 환경에 따라 다르며, 일반적인 Server 설치에는 그래픽 화면이 없을 수 있습니다.

변경 후에는 timedatectl status와 필요한 서비스의 로그·예약 작업을 확인하세요. 시간대가 맞는데 시각 자체가 틀리다면 시간 동기화 서비스와 네트워크 연결을 별도로 점검해야 합니다. 특정 애플리케이션만 다른 시간을 표시한다면 해당 프로세스의 TZ와 애플리케이션 설정도 확인합니다.