应该/etc/localtime
(在 RHEL 5.3 下,我认为这并不重要):
- 符号链接至
/usr/share/zoneinfo/whatever
- 硬链接至
/usr/share/zoneinfo/whatever
- 副本
/usr/share/zoneinfo/whatever
我更喜欢 1),因为它明确且易于通过 Puppet 管理,但它会破坏任何东西吗?RedHat 的默认设置似乎是 3)。编辑:我知道跨文件系统符号链接、tzdata 更新等常见问题,但不知道历史上 no-/usr-during-rc.sysinit 的陷阱。谢谢大家!
答案1
3 是首选方法。这是由于一个旧错误导致具有单独 /usr 分区的系统将系统时间设置为 UTC,因为 /usr/share/zoneinfo 在 rc.sysinit 期间不可用。您可以在以下位置查找错误日志
答案2
那里是创建副本而不是符号链接的原因,例如,如果 /usr 与 / 或 /etc 位于不同的分区上,那么在极少数情况下可能会出现问题。
答案3
正如其他人之前所说,将其作为文件的副本而不是符号链接(硬链接或软链接)只是一种更安全的标准。本地时间文件的重要性如此之高,以至于损坏该文件可能会导致问题。
此外,还有一些方便的实用程序可以为您处理此问题,这可能是您系统时区管理的最佳方法。大多数 Linux 系统都有可用的实用程序,tzselect
可让您选择系统要使用的时区并为您管理本地时间文件,而无需您亲自操作。除非您有理由不这样做,否则我建议您使用此工具。
答案4
我觉得烦人的是,每次“tzdata”更新时,它都会更改我的时区,因此我将 3) 与“chattr +i /etc/localtime”结合使用