为什么 Linux“推荐”采用 UTC 格式的 BIOS 时间?

为什么 Linux“推荐”采用 UTC 格式的 BIOS 时间?

很多时候,当看到设置指南和类似内容时,会写到“推荐”同步到 UTC/GMT 中的 BIOS/RTC 时间,但从来没有给出任何理由,而且到目前为止谷歌搜索也没有帮助我找到一个。我想这里最可能的原因是传统,它可能会混淆奇怪的系统管理员或程序,这些系统管理员或程序以某种方式依赖于 utc 时间?

答案1

机器固件不会跟踪它们所在的时区,因此如果您希望它们跟踪绝对当前时间,您必须选择一些标准,除了 UTC 之外,确实没有任何其他明显的选择。如果不同的人选择不同的标准,那么机器固件要么必须提供一个接口来告诉操作系统正在使用哪个标准,要么提供一个接口来显示“标准”时区的时间——我们又回到了 UTC。

更糟糕的是,世界上许多时区没有与 UTC 的固定偏移量:它们与 UTC 的固定偏移量有两种不同,具体取决于一年中的具体时间。机器固件必须了解这些规则并应用它们。对于您可能想要使用的每个时区!而且这些规则会不时发生变化!如果机器固件不跟踪和应用这些规则,但您仍然希望将固件时间保留在本地(可变偏移)时区,则操作系统必须通过应用黑客来进行补偿 - 但随后无法可靠地确定是否或者当前没有应用黑客。这根本站不住脚。

所以... UTC FTW。机器固件级别低。它真的有理由需要知道它运行的地方的当地时间吗?

答案2

(某些)将时区设置为 UTC 以外的其他值是为了解决一个系统可能没有完整时区支持的问题。这样的建议是从一些人的思维方式演变而来的,即只有一个系统正在启动,并且将设置时区。您可以阅读其中的讨论之一Debian #343645 initscripts:请解决 util-linux 损坏的时钟设置问题

相关内容