CentOS 不考慮時區夏令時
在巴西,今年,總統決定我們不應該實行夏令時。因為我的 Centos 8 伺服器的時間錯誤,我的意思是,當我使用
date
顯示的時間時,顯示的時間錯了 1 小時。通常,當我設置我的伺服器時,我會執行以下操作:ln -s /usr/share/zoneinfo/Brazil/East /etc/localtime
巴西東部時區現在是 -3,但使用時區上方的文件會得到 -2(因為出於某種原因,它錯誤地認為我們應該像往常一樣在今年實行夏令時)。
那麼我該如何解決呢?有沒有辦法告訴我的伺服器每天根據政府的決定更新 zoneinfo 文件?讓我們假設巴西總統今天決定我們明天應該進入夏令時。是否有國際組織提供根據當地政府決定更新的區域文件?
obs:我嘗試
nano
了文件 /usr/share/zoneinfo/Brazil/East 但是奇怪的字元出現在螢幕上,所以我放棄了編輯它。
巴西的 DST 更改包含在 TZ 版本 2019b 中。
執行
yum update tzdata
應該為您提供最新版本(實際上是2019c
,但它包括您關心的更改)。您可以使用
rpm -q tzdata
來檢查您擁有的版本。CentOS 在提供這些更新方面似乎落後了——它們仍然只提供 2019a。討論見https://www.centos.org/forums/viewtopic.php?t=72416>和錯誤報告<https://bugs.centos.org/view.php?id=16702
巴西不再觀測 DST 大約在 7 月處於tzdata-2019b中。(ICANN,前身為 IANA,是編譯更改的維護者。)
出於某種原因,我只在 CentOS 8 鏡像上找到了 2019a。考慮在錯誤報告或郵件列表中提出問題。上游RHEL 送出一個及時的 tzdata release。
在此更新之前,請考慮選擇另一個具有相同偏移量的城市,例如America/Argentina/Buenos_Aires。(希望兩者都做理智的事情並保持沒有 DST,但誰知道……)