如何获取系统映像的时区?

如何获取系统映像的时区?

我想获取系统的时区。现在有一些注意事项...

  • 我使用的是 Linux,目标系统将是 UNIX。
  • 我将只使用系统映像,即不是实时系统,但将安装分区。
  • 我最终会编写脚本。

我考虑过使用 /etc/localtime,但有时这是一个真实文件,有时是一个符号链接。无论哪种情况,我似乎都无法获得要解析的文件格式的描述。

有人有主意吗?

谢谢

答案1

该文件将采用 tz 文件格式,即二进制格式。您可以使用日期时间::时区::Tz文件如果您懂 Perl,就可以解析它。如果它是一个符号链接,那就没关系了,因为只要它被挂载了,您就可以跟着它走。

最后,如果您可以控制图像创建,我强烈建议您将系统时间设置为 UTC。

答案2

您知道这些是 UNIX 的什么类型吗?

除了 /etc/localtime,

  • Redhat 版本使用/etc/sysconfig/clock
  • Debian 变体使用/etc/timezone

答案3

残忍的方式.... :p 如果 mount 是只读的,则触摸一个文件,然后... ls -lah ....

然后你就会知道文件创建的时间。意思是……系统时间 +/- 几秒。

或者以某种方式尝试显式或隐式地修改某些内容并查看时间 :>

答案4

从命令行,您可以通过运行以下命令以比读取 /etc/localtime 更安全的方式获取它:

date +%Z

相关内容