安装完debian或其他Linux发行版后,很容易遇到的一个问题就是时间不对,比如BIOS的时间和系统时间不一样。这是因为debian默认BIOS时间为UTC (Universal Time Coordinated) 0时区时间,如果在安装时选择了时区,如Asia/Shanghai UTC+8即东8区,则系统会在BIOS时间的基础上加上8个小时转换为CST,即中国标准时间。
1、系统时间与硬件时间
Linux系统中有两个时间概念,系统时间与硬件时间。
硬件时间就是BIOS中的时间,视为UTC 0时区,可以用hwclock来查看硬件时间。
系统时间即用date命令查看到的时间,这个时间是系统通过读取BIOS时间并根据系统中的设定的时区来确定的。
2、如何设置
step-0:调整时区
$sudo tzselect
step-1:
$sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
step-2:修改/etc/adjtime文件
将BIOS时间视为本地时间,关闭debian中的UTC选项。很多文章提到修改/etc/default/rcS中的UTC=no,这是debian 6的设置方法(俺未作验证),而debian 7中将这个选项放在了/etc/adjtime文件中,若没有这个文件,可用命令 $sudo hwclock --adjust 来生成。然后将第三行由UTC改为LOCAL。
step-3:修改系统时间
$sudo hwclock --hctosys 将硬件时间写入系统时间。
step-4:同步时间
$sudo apt-get install ntpdate
$sudo ntpdate 129.6.15.28
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/