每次要裝新機時,都會有機會做一次這個動作。 ### 檢查主機時間 可以透過使用以下指令取機主機現時時間: ```sh $ timedatectl ``` 應該會有類似以下的結果 : ```sh Local time: Thu 2020-01-02 04:32:15 UTC Universal time: Thu 2020-01-02 04:32:15 UTC RTC time: Thu 2020-01-02 04:32:15 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no ``` 預設應該是使用 UTC 的設定。 其實系統的時間是在 `/etc/localtime` 設定的,我們可以查看一下它: ```sh $ ls -l /etc/localtime ``` 會看到它是一個 Symbolic Link 指向一個 zoneinfo 檔案。 ```sh lrwxrwxrwx 1 root root 27 Oct 3 06:18 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC ``` ### 使用 timedatectl 來變更 timezone 設定 首先我們可以透過以下指令取得可以使用的 timezone : ```sh $ timedatectl list-timezones ``` 會列出大量的結果: ```sh Africa/Banjul Africa/Bissau Africa/Blantyre Africa/Brazzaville Africa/Bujumbura Africa/Cairo Africa/Casablanca Africa/Ceuta Africa/Conakry Africa/Dakar Africa/Dar_es_Salaam ... ``` 然後使用 `timedatectl` 變更時區: ```sh $ sudo timedatectl set-timezone Asia/Hong_Kong ``` 上面的指令是變更時區到香港,如要變更其他地方時區則只要填上其他地方便可以。 然後可以再次使用 `timedatectl` 查檢變更後的時區 : ```sh $ timedatectl ``` 現在變更為 Asia/Hong_Kong 了。 ```sh Local time: Thu 2020-01-02 12:49:30 HKT Universal time: Thu 2020-01-02 04:49:30 UTC RTC time: Thu 2020-01-02 04:49:30 Time zone: Asia/Hong_Kong (HKT, +0800) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no ```