如何正確修改 Ubuntu 18.04 的系統時區



在生產環境中,使用正確的時區是非常重要的,不當的配置,可能會造成人為誤判、或是資料庫寫入異常等其他嚴重問題,所以,為了讓我們日後的工作順利,學會正確的修改時區是非常重要的!!


而本篇就是教導大家,如何正確修改 Ubuntu 18.04 的系統時區,以及在不支援timedatectl 指令的情況下(舊Ubuntu版本),達成相同的目的


環境

  • 亞馬遜 EC2

  • Ubuntu 18.04


前置條件

你需要有 root 或是 sudo 的權限才能更改系統的時區


檢查當前時區

在 Ubuntu 中,我們有三種方式查看當前時區設定


一、 使用 timedatectl 命令顯示當前的系統時區。

timedatectl

輸出畫面

                      Local time: Fri 2021-01-07 22:45:47 UTC
                Universal time: Fri 2021-01-07 22:45:47 UTC
                      RTC time: Fri 2021-01-07 22:45:48
                      Time zone: Etc/UTC (UTC, +0000)
      System clock synchronized: yes
systemd-timesyncd.service active: yes
                RTC in local TZ: no


二、 查看 /etc/localtime 的連結指向

ls -l /etc/localtime

輸出畫面

lrwxrwxrwx 1 root root 33 Jan  8 15:57 /etc/localtime -> ../usr/share/zoneinfo/Etc/UTC


三、 查看 /etc/timezome 的內容

cat /etc/timezone

輸出畫面

Etc/UTC


修改時區

當我們檢查完時區後,接下來就是修改時區。不過假如你不知道要改的時區名稱,你可以透過以下指令來查看

timedatectl list-timezones

輸出畫面

...
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk
Asia/Taipei
Asia/Tashkent
Asia/Tbilisi
Asia/Tehran
Asia/Thimphu
Asia/Tokyo
...


找到要修改的時區名稱後,接下就是以 sudo 權限執行以下命令

sudo timedatectl set-timezone 要修改的時區名稱


例如要將系統修改為台北時區 Asia/Taipei,請輸入

sudo timedatectl set-timezone Asia/Taipei


使用 timedatectl 指令確認時區是否正確修改

timedatectl

輸出畫面

                      Local time: Fri 2021-01-08 18:38:49 CST
                Universal time: Fri 2021-01-08 10:38:49 UTC
                      RTC time: Fri 2021-01-08 10:38:49
                      Time zone: Asia/Taipei (CST, +0800)
      System clock synchronized: yes
systemd-timesyncd.service active: yes
                RTC in local TZ: no


使用 tzdata 更改時區

假如是較舊的 Ubuntu 版本,可能不支援 timedatectl 指令。這個時候,我們就得使用 tzdata 來做更改


Step1. 紀錄要修改的時區名稱


Step2. 使用以下指令將時區保存於檔案中

echo "Asia/Taipei" | sudo tee /etc/timezone


Step3. 執行以下指令變更系統時區

sudo dpkg-reconfigure --frontend noninteractive tzdata

輸出畫面

Current default time zone: 'Asia/Taipei'
Local time is now:     Fri Jan 8 18:56:06 CST 2021.
Universal Time is now: Fri Jan 8 10:56:06 UTC 2021.




留言