感谢支持
我们一直在努力

Debian Linux的时间时区设定

  今天把Debian Linux安装在台式机上面了。

  第一个遇到的问题就是时间设定,Debian里面的系统时间跟硬件时间对不上,偏差了8个小时。原因是由于MS的OS一直以来都没有支持到UTC的时间设定,一换到支持UTC的Linux就遇到这样的问题了。(关于UTC,请参照《时间缩写解释》)。其实Debian是建议使用UTC时间的,只是自己还是习惯Windows(不懂UTC的OS),所以把自己的Debian也改过来了。

  在Linuix 系统里面,系统时间由3个因素决定:硬件时间、UTC(/etc/default/rcS)、Timezone。

  /etc/default/rcS 里面的UTC选项,告诉Linux系统,这个硬件时间是否UTC时间。Timezone 是设定系统所处UTC时区(我现在用的是 Asia/Shanghai)。

  最后,系统启动时候读出硬件时间,再根据是否UTC时间、系统所处Timezone计算出系统localtime。

  下面是硬件时钟的时间。
  DNAS:~# hwclock –show
  Wed 03 Oct 2007 09:40:10 PM CST  -0.169539 seconds

  由于我已经在/etc/default/rcS 里面设置了UTC=no,告诉了系统,硬件时间并不是UTC时间。之后系统时间就会根据以下两个文件决定时区了:

  /etc/timezone
  /etc/localtime  timezone 是一个文本文件,只需要把自己所处的时区写进去就可以了,我的是 Asia/shanghailocaltime 直接从 /usr/share/zoneinfo 把自己所处时区的文件做一个 ln 过去就好了。

  ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  下面是date命令所返回的日期时间,这是已经计算过的了。

  DNAS:~# date
  Wed Oct  3 21:38:11 CST 2007

  接下来就是关于系统时间、硬件时间同步问题了

  在刚装好的系统里面, hwclock 这个命令是返回这样的错误的:
  select() to /dev/rtc to wait for clock tick timed out

  也就是说系统不能访问硬件时间(RTC),也许是因为自己的新型号机器BIOS的处理方式跟Linux的老款RTC module之间有兼容问题。

  有问题,换一个RTC module就是了。Linux的RTC module有下面三个 rtc/genrtc/rtc_dev

  modprobe
  hwclock –show
  rmmod

  把三个module都试过,看哪个比较好用的。

  然后修改 /etc/modprobe.d/blacklist 把不好用的blacklist掉, /etc/modules 把好用的那个加上。我自己用的就是 rtc_dev 这个module。

  关于 date/hwclock 命令的使用,man一下就有很详细了。

赞(0) 打赏
转载请注明出处:服务器评测 » Debian Linux的时间时区设定
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏