如果你的 Linux 系統(tǒng)時(shí)區(qū)配置不正確,必需要手動(dòng)調(diào)整到正確的當(dāng)?shù)貢r(shí)區(qū)。NTP 對(duì)時(shí)間的同步處理只計(jì)算當(dāng)?shù)貢r(shí)間與 UTC 時(shí)間的偏移量,因此配置一個(gè) NTP 對(duì)時(shí)間進(jìn)行同步并不能解決時(shí)區(qū)不正確的問題。所以大家在用了國外云計(jì)算服務(wù)商如 Microsoft Azure 或其它 VPS、虛擬機(jī)時(shí),需要注意是否與中國大陸的時(shí)區(qū)一致。
查看Linux當(dāng)前時(shí)區(qū)
你可以使用如下命令非常容易地就查看到 Linux 系統(tǒng)的當(dāng)前時(shí)區(qū):
date
ls -l /etc/localtime
獲取時(shí)區(qū)TZ值
要更改 Linux 系統(tǒng)時(shí)區(qū)首先得獲知你所當(dāng)?shù)貢r(shí)區(qū)的 TZ 值,使用 tzselect 命令即可查看并選擇已安裝的時(shí)區(qū)文件。
執(zhí)行 tzselect 命令
通過向?qū)нx擇你所在大洲、國家和城市
tzselect 最終將以 Posix TZ 格式(例如 Asia/Shanghai)輸出你所在的時(shí)區(qū)值,將此記錄下來。
更改每個(gè)用戶的時(shí)區(qū)
Linux 用戶一個(gè)多用戶系統(tǒng),每個(gè)用戶都可以配置自己所需的時(shí)區(qū),你可以為自己新增一個(gè) TZ 環(huán)境變量:
export TZ='Asia/Shanghai'
執(zhí)行完成之后需要重新登錄系統(tǒng)或刷新 ~/.bashrc 生效。
更改Linux系統(tǒng)時(shí)區(qū)
要更改 Linux 系統(tǒng)整個(gè)系統(tǒng)范圍的時(shí)區(qū)可以使用如下命令:
sudo rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
注意:/usr/share/zoneinfo/Asia/Shanghai 中的具體時(shí)區(qū)請(qǐng)用自己獲取到的 TZ 值進(jìn)行替換。
使用Systemd更改Linux系統(tǒng)時(shí)區(qū)
如果你使用的 Linux 系統(tǒng)使用 Systemd,還可以使用 timedatectl 命令來更改 Linux 系統(tǒng)范圍的時(shí)區(qū)。在 Systemd 下有一個(gè)名為 systemd-timedated 的系統(tǒng)服務(wù)負(fù)責(zé)調(diào)整系統(tǒng)時(shí)鐘和時(shí)區(qū),我們可以使用 timedatectl 命令對(duì)此系統(tǒng)服務(wù)進(jìn)行配置。
sudo timedatectl set-timezone 'Asia/Shanghai'
最后,如果你發(fā)現(xiàn) Ubuntu 與 Windows 雙系統(tǒng)時(shí)間不同步,可以參考我們之前的文章說明和解決辦法。希望可以幫助到大家!