对于任何操作系统安装,您必须知道您的时区。这通常以城市、州或国家/地区表示。您还必须决定如何设置 BIOS(BIOS - 基本输入/输出系统)时间,在这里我们可以遵循两种策略
在这种情况下,您应该将 BIOS 时间设置为 UTC(UTC - 协调世界时)时间。DST(DST - 夏令时)更改将由 时区配置 动态管理。
Windows 处理时间的方式比 Linux 更为原始。对于 Windows,BIOS 时间始终是您的本地时间,因此 DST 更改更具侵略性,因为它们直接更改硬件时钟。并且由于 Linux 和 Windows 最初都从硬件获取和设置时间,当它们共存时,Linux 必须以相同的方式处理它。因此,将 BIOS 时间设置为您的本地时间。
在 Red Hat Linux 和衍生系统中,您可以使用 timeconfig 命令设置硬件时钟策略和时区,该命令会显示一个用户友好的对话框。您也可以以非交互方式使用它
示例 2. 时间配置工具
bash# timeconfig "Brasil/East" # set HC to localtime, and TZ to "Brazil/East" bash# timeconfig --utc "Brasil/East" # set HC to UTC, and TZ to "Brazil/East" |
无论如何,它会更改/etc/sysconfig/clock文件,在启动时读取。您可以手动编辑它,它看起来像这样
我建议您在了解如何获取准确时间之后再设置硬件时钟,这在 第 5 节 中描述。
hwclock 命令读取和设置硬件时钟,基于您给它的几个选项,这些选项在其手册页中有所记录。但是,如果您拥有现代的 Linux 发行版,则不必使用它。在定义您的硬件时钟策略和时区之后,您可以使用高级 setclock 命令来正确设置您的硬件时钟。您不需要传递任何参数,因为 setclock 会智能地调用 hwclock,以根据您操作系统的当前日期和时间设置 BIOS。所以您应该始终使用 setclock 命令。
但是,如果您是极简主义者并且喜欢努力工作,这里有一些 hwclock 示例
示例 4. setclock 和 hwclock 的用法
bash# setclock # The easy way to set HC bash# hwclock # reads HC bash# hwclock --systohc --utc # set HC with UTC time based on OS current time bash# hwclock --systohc # set HC with local time based on OS current time bash# hwclock --set --date "21 Oct 2004 21:17" # set HC with time specified on string |
由于操作系统时间独立于硬件时钟,我们所做的任何 BIOS 更改都将在下次启动时生效。
更改 HC 的另一个选项是重启并访问您计算机的 BIOS 屏幕。在 IBM e-server zSeries 平台上,您必须在 z/VM 级别执行此操作,因为这里的 Linux 运行在 z/VM 创建的虚拟机上。