setclock 脚本从硬件时钟读取时间,硬件时钟也称为 BIOS 或互补金属氧化物半导体 (CMOS) 时钟。 如果硬件时钟设置为 UTC,此脚本将使用/etc/localtime文件(该文件告诉 hwclock 程序用户所在的时区)将硬件时钟的时间转换为本地时间。 无法检测硬件时钟是否设置为 UTC,因此需要手动配置。
如果您不记得硬件时钟是否设置为 UTC,请运行 hwclock --localtime --show 命令来 выяснить. 这将显示硬件时钟当前的 показания. 如果这个时间与您的手表显示的时间一致,则硬件时钟设置为本地时间。 如果 hwclock 的输出不是本地时间,则很可能设置为 UTC 时间。 通过为时区向 hwclock 显示的时间添加或减去适当的小时数来验证这一点。 例如,如果您当前位于 MST 时区(也称为 GMT -0700),请将本地时间加上七个小时。
将UTC变量的值更改为 0(零),如果硬件时钟没有设置为 UTC 时间。
创建一个新文件/etc/sysconfig/clock通过运行以下命令
cat > /etc/sysconfig/clock << "EOF" # Begin /etc/sysconfig/clock UTC=1 # End /etc/sysconfig/clock EOF
在 LFS 上处理时间的有用提示可在 http://www.linuxfromscratch.org/hints/downloads/files/time.txt 获取。 它解释了时区、UTC 和TZ环境变量等问题。