
如何調整 Linux 系統時區
- Leo
- 技術宅 ( tech geek)
- 2024年10月4日
目錄
最近透過 docker
編譯程式後,發現時間對不上,原來是時區沒有設定的問題。
本來想說時區設定應該滿容易的,沒想到因為 docker
設定時不會互動,所以用一般在 Ubuntu
上使用 timedatectl
設定的方法就會有問題。
因此記錄一下在一般伺服器中以及 docker
中為 Ubuntu
系統設定時區的方法。
在伺服器上調整時區
可以使用 timedatectl
來查看目前的時區設定,並且透過 timedatectl list-timezones
列出所有可用的時區。
透過下列指令,可以將時區設定成 Asia/Taipei
。
sudo timedatectl set-timezone Asia/Taipei
sudo dpkg-reconfigure --frontend noninteractive tzdata
在 docker 中為調整時區
在 docker
中調整時區需要透過 tzdata
來設定,並且需要設定 DEBIAN_FRONTEND
變數避免互動設定。
系統及部分程式會透過 /etc/localtime
來判斷時區,tzdata
會透過讀取 /etc/timezone
來設定時區。因此同時修改這兩個地方避免衝突。
export TZ=Asia/Taipei
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
echo $TZ > /etc/timezone
DEBIAN_FRONTEND="noninteractive" apt-get install -y tzdata