如何調整 Linux 系統時區

如何調整 Linux 系統時區

目錄

最近透過 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
標籤 :

相關文章

使用 Docker buildx 建立多平台 Docker Image

使用 Docker buildx 建立多平台 Docker Image

最近我在建設我的網站時選擇了 Hugo 這款靜態網站生成器,並選用了 Blowfish 主題。然而,我面臨了一個挑戰:Blowfish 主題要求 Hugo 的版本至少為 v0.115

閱讀更多
書籤工具 Pocket 停止服務,遷移到自架 (Self-Hosted) 的稍後閱讀書籤服務 Wallabag

書籤工具 Pocket 停止服務,遷移到自架 (Self-Hosted) 的稍後閱讀書籤服務 Wallabag

再見 Pocket!迎接自架稍後閱讀的時代 Mozilla 最近 宣佈 了一項令人意外的消息:從 2025 年 7 月 8 日起,將正式停止提供「Pocket」這款廣受歡迎的稍後閱

閱讀更多
使用 Visual Studio Code 跨平台 C/C++ 開發環境全攻略

使用 Visual Studio Code 跨平台 C/C++ 開發環境全攻略

幾年前曾經使用 Visual Studio Code 在 Windows 上開發 C/C++,曾寫了一篇文章 記錄過程,但是當時只有在 Windows 上開發,最近又有需求要撰寫一些 C/C++ 專案,並且這次會在 macOS 和 Linux 上

閱讀更多