AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 804403
Accepted
vaha
vaha
Asked: 2016-09-22 00:42:01 +0800 CST2016-09-22 00:42:01 +0800 CST 2016-09-22 00:42:01 +0800 CST

在 Linux 中禁用夏令时 (DST) 更改

  • 772

几周前,土耳其能源和自然资源部宣布 DST 将是永久性的,而 GMT+3 将在该国永久使用。

目前,我们 Linux 服务器的时区设置为Europe/Istanbul。但是尚未发布 tzdata 更新。

由于缺乏更新,2016 年 10 月 30 日时区将自动从 GMT+3 更改为 GMT+2,如 zoneinfo 文件 (/usr/share/zoneinfo/Europe/Istanbul) 中所述。

您可以在下面查看 2016 年的详细信息:

# zdump -v /usr/share/zoneinfo/Europe/Istanbul | grep 2016
/usr/share/zoneinfo/Europe/Istanbul  Sun Mar 27 00:59:59 2016 UT = Sun Mar 27 02:59:59 2016 EET isdst=0 gmtoff=7200
/usr/share/zoneinfo/Europe/Istanbul  Sun Mar 27 01:00:00 2016 UT = Sun Mar 27 04:00:00 2016 EEST isdst=1 gmtoff=10800
/usr/share/zoneinfo/Europe/Istanbul  Sun Oct 30 00:59:59 2016 UT = Sun Oct 30 03:59:59 2016 EEST isdst=1 gmtoff=10800
/usr/share/zoneinfo/Europe/Istanbul  Sun Oct 30 01:00:00 2016 UT = Sun Oct 30 03:00:00 2016 EET isdst=0 gmtoff=7200

(在没有更新的情况下)为了防止这种情况成为危机,我们决定制定一个备份计划,将我们服务器的时区设置为固定的 GMT+3;但是当设置了固定的 GMT+3时,我们会遇到一个奇怪的行为。

在我们对时区进行任何更改之前,让我们看看我们服务器上的本地时间和 UTC 时间是多少。

# date
Wed Sep 21 11:13:11 EEST 2016
# date -u
Wed Sep 21 08:13:15 UTC 2016

我们将时区设置为固定的 GMT+3,如下所示:

# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/Etc/GMT+3 /etc/localtime

让我们看看更改后我们服务器上的本地时间和UTC时间是多少。GMT+3 时间比 UTC早3 小时,它应该比 UTC晚3 小时,如上面的输出所示。

# date
Wed Sep 21 05:14:24 GMT+3 2016
# date -u
Wed Sep 21 08:14:26 UTC 2016

即使我们重置本地时间或 UTC 时间,它也不会改变。

# date -s "21 Sep 2016 11:16:00"
Wed Sep 21 11:16:00 GMT+3 2016
# date
Wed Sep 21 11:16:02 GMT+3 2016
# date -u
Wed Sep 21 14:16:05 UTC 2016

# date -u -s "21 Sep 2016 11:16:00"
Wed Sep 21 11:16:00 UTC 2016
# date
Wed Sep 21 08:16:01 GMT+3 2016
# date -u
Wed Sep 21 11:16:02 UTC 2016

为什么偏移量似乎是向后的?

linux timezone daylight-saving
  • 2 2 个回答
  • 25993 Views

2 个回答

  • Voted
  1. Best Answer
    vaha
    2016-09-22T06:41:26+08:002016-09-22T06:41:26+08:00

    更新 #1:时区数据库更新最近在其官方存储库下针对多个操作系统发布。该版本tzdata2016g包括上述更改的设置。

    在某些时候,这个问题与superuser.com 上提出的问题重复。

    清晰的答案是

    “像 Etc/GMT+6 这样的区域被有意反转以向后兼容 POSIX 标准”

    但我认为不应该删除它以帮助想要在 Linux 系统中禁用 DST 更改的人。

    要禁用 DST 更改,请将您的/etc/localtime文件链接到文件夹下的 zoneinfo 文件之一/usr/share/zoneinfo/Etc/

    示例命令:

    # ln -s /usr/share/zoneinfo/Etc/GMT+3 /etc/localtime
    

    要选择最合适的 zoneinfo 文件,请反转您的目标 GMT 的符号。

    即要设置 GMT+3 时区(比 UTC 早 3 小时),应该使用 /usr/share/zoneinfo/Etc/GMT-3

    • 13
  2. mdpc
    2016-09-22T10:37:48+08:002016-09-22T10:37:48+08:00

    在某个时候,TZ 表的新修订版将发布,并可用于所有 Linux 发行版的更新。嗯....我可以发誓,在宣布解决这个问题后不久,更新的时区表已经可用。也许您的情况可能会有一个新的 TZ 代号。

    • 2

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve