리눅스 시스템의 시간은 시스템 운영, 로그 관리, 네트워크 통신 등 다양한 부분에 영향을 미치므로 정확하게 맞추는 것이 중요하다. 이 글에서는 리눅스에서 시스템 시간과 타임존을 확인하고 변경하는 방법을 정리한다.
1. 시스템 시간과 타임존 확인
date
명령어로 현재 시스템 시간을 확인한다.
1 | date |
timedatectl
명령어를 사용하면 현재 시간, 타임존, NTP 동기화 상태를 한 번에 확인할 수 있다.
1 | timedatectl |
2. 타임존(Timezone) 변경
시스템의 타임존을 변경하면 시간 표시와 로그 기록 등에 영향을 준다.
사용 가능한 타임존 목록은 다음과 같이 확인한다.
1 | timedatectl list-timezones |
타임존을 변경하려면 다음 명령어를 사용한다.
1 | sudo timedatectl set-timezone Asia/Seoul |
- 예:
Asia/Seoul
,America/New_York
등 원하는 타임존으로 변경
구형 시스템에서는 /etc/localtime
파일을 심볼릭 링크로 교체하는 방식도 있다.
1 | sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime |
타임존 변경 후에는 date
명령어로 적용 결과를 확인한다.
참고: 타임존 변경은 시스템 전체에 영향을 주므로, 서버 운영 시 서비스 시간에 주의해야 한다.
3. date 명령어로 시간 수동 변경
date
명령어로 시스템의 현재 시간을 직접 설정할 수 있다. (root 권한 필요)
사용법:
1 | sudo date MMDDhhm[[CC]YY][.ss] |
- MM: 월(01~12)
- DD: 일(01~31)
- hh: 시(00~23)
- mm: 분(00~59)
- CC: 세기(예: 20)
- YY: 연도(예: 25)
- ss: 초(00~59)
예시:
1 | sudo date 070221302025.00 |
- 2025년 7월 2일 21시 30분 0초로 시간 설정
주요 옵션:
-s
또는--set
: 문자열로 시간 지정1
sudo date -s "2025-07-02 21:30:00"
-u
: UTC(협정 세계시)로 시간 표시/설정
4. 하드웨어 시계와 동기화 (hwclock)
시스템 시간이 변경되면 하드웨어 시계(Real Time Clock, RTC)도 동기화하는 것이 좋다.
왜 동기화가 필요할까?
- 리눅스 시스템은 부팅 시 하드웨어 시계(RTC)에서 시간을 읽어와 시스템 시간을 설정한다. 시스템 시간만 변경하고 하드웨어 시계와 동기화하지 않으면, 재부팅 시 시간이 다시 틀어질 수 있다.
- 하드웨어 시계와 시스템 시간이 일치해야 로그 기록, 예약 작업(cron), 파일 타임스탬프 등이 정확하게 관리된다.
- NTP 등으로 시스템 시간을 맞춘 후에는 반드시 하드웨어 시계도 동기화해야 일관된 시간 유지가 가능하다.
1 | sudo hwclock --systohc |
--systohc
: 시스템 시간을 하드웨어 시계에 저장--hctosys
: 하드웨어 시계를 시스템 시간에 반영
5. 네트워크 시간 동기화(NTP)
정확한 시간 유지를 위해 NTP(Network Time Protocol) 서버와 동기화한다.
ntpd 서비스 사용
ntpd가 설치되어 있지 않다면 다음과 같이 설치한다.
1 | sudo apt install ntp # Debian/Ubuntu |
서비스를 시작하고 동기화 상태를 확인한다.
1 | sudo systemctl start ntp |
ntpdate 명령어로 즉시 동기화
참고:
ntpdate
명령어는 대부분의 리눅스 배포판에서 기본 설치되어 있지 않으므로, 사용 전 패키지를 설치해야 한다.
- Ubuntu/Debian:
sudo apt install ntpdate
- CentOS/RHEL:
sudo yum install ntpdate
1 | sudo ntpdate time.bora.net |
- 원하는 NTP 서버 주소 지정 가능
NTP 서버 직접 설정하기
NTP 동기화에 사용할 서버 목록은 설정 파일을 직접 수정해서 지정할 수도 있다. 대표적으로 /etc/ntp.conf
파일을 열어 원하는 NTP 서버 주소를 추가하거나 변경할 수 있다.
1 | sudo vi /etc/ntp.conf |
설정 파일 내에서 아래와 같이 서버를 지정한다.
1 | server time.bora.net iburst |
파일을 저장한 뒤 ntpd 서비스를 재시작하면 변경된 서버로 동기화가 진행된다.
1 | sudo systemctl restart ntp |
참고: 배포판에 따라 설정 파일 경로나 서비스 명칭이 다를 수 있으니, 각 환경에 맞게 확인이 필요하다.
6. 주의사항
- 시스템 시간 변경은 root 권한이 필요하다.
- 시간 변경 후 서비스 재시작이 필요한 경우가 있다.
- NTP 동기화가 활성화되어 있으면 수동 변경한 시간이 다시 덮어써질 수 있다.
이와 같이 다양한 방법으로 리눅스 시스템의 시간과 타임존을 확인하고 변경할 수 있다. 상황에 맞는 방법을 선택해 적용하자.