在巴西,今年,总统决定我们不应该实行夏令时。因为我的 Centos 8 服务器的时间错误,我的意思是,当我使用date
显示的时间时,显示的时间错了 1 小时。通常,当我设置我的服务器时,我会执行以下操作:
ln -s /usr/share/zoneinfo/Brazil/East /etc/localtime
巴西东部时区现在是 -3,但使用时区上方的文件会得到 -2(因为出于某种原因,它错误地认为我们应该像往常一样在今年实行夏令时)。
那么我该如何解决呢?有没有办法告诉我的服务器每天根据政府的决定更新 zoneinfo 文件?让我们假设巴西总统今天决定我们明天应该进入夏令时。是否有国际组织提供根据当地政府决定更新的区域文件?
obs:我尝试nano
了文件 /usr/share/zoneinfo/Brazil/East 但是奇怪的字符出现在屏幕上,所以我放弃了编辑它。
巴西不再观测 DST 大约在 7 月处于tzdata-2019b中。(ICANN,前身为 IANA,是编译更改的维护者。)
出于某种原因,我只在 CentOS 8 镜像上找到了 2019a。考虑在错误报告或邮件列表中提出问题。上游RHEL 提交一个及时的 tzdata release。
在此更新之前,请考虑选择另一个具有相同偏移量的城市,例如America/Argentina/Buenos_Aires。(希望两者都做理智的事情并保持没有 DST,但谁知道......)
巴西的 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