본문 바로가기
Server & Network/Linux

[Linux] Ubuntu 서버 시간 설정 (dpkg-reconfigure)

by AustinProd 2022. 4. 26.

Ubuntu 서버 시간을 설정하는 방법을 정리한다. 여러 가지 방법이 있지만, 이번 포스트에서는 dpkg-reconfigure을 사용한 방법을 공유한다.

 

서버 시간 설정 툴

  • tzselect
  • timedatectl
  • dpkg-reconfigure ( -> 오늘 주제 )

 

서버 시간 확인 ( date, more )

각각 서버 시간과 타임존을 확인하는 명령어다.

 

# 시간 확인
date
> Wed Apr 27 00:02:28 KST 2022

# 타임존 확인
more /etc/timezone
> Asia/Seoul

 

서버 시간 변경

서버 시간 변경 원리는 기존 시간 정보를 새로운 시간 교체하는 데 있다. /etc/localtime 경로의 파일은 시간에 대한 정보를. /etc/timezone 경로의 파일은 타임존에 대한 정보를 담고 있다. 자세한 가이드는 아래 명령어와 주석을 참고하면 된다.

 

# 현재 서버 시간 백업(.dist 파일)
sudo cp /etc/localtime /etc/localtime.dist

# 현재 서버 시간을 Asia/Seoul 타임존으로 심볼릭 링크 생성
# 이미 생성된 링크가 있을 수도 있기에 -fs 플래그 사용
sudo ln -fs /usr/share/zoneinfo/Asia/Seoul /etc/localtime

# Asia/Seoul 문자열 출력 
echo "Asia/Seoul" 

# 출력된 문자열을 타임존에 저장
sudo tee /etc/timezone

# 설정한 타임존 정보를 서버에 적용
sudo dpkg-reconfigure --frontend noninteractive tzdata

# 타임존 정보 백업(.dist 파일)
sudo cp /etc/timezone /etc/timezone.dist

 

바로 실행해야 하는 경우를 위해 위 코드를 한 줄로 실행시킬 수 있게 만들었다. 그대로 복사해서 사용하면 된다.

 

sudo cp /etc/localtime /etc/localtime.dist | sudo ln -fs /usr/share/zoneinfo/Asia/Seoul /etc/localtime | sudo cp /etc/timezone /etc/timezone.dist | echo "Asia/Seoul" | sudo tee /etc/timezone | sudo dpkg-reconfigure --frontend noninteractive tzdata

 

참고

tee 명령어는 명령어의 출력 결과를 파일과 화면에 동시에 출력할 수 있도록 해준다. stdin 출력값을 받아서 stdout으로 터미널에 값을 출력하고, 파일에 값을 주입한다.

댓글