linux修改时区为上海,linux修改时区( 二 )


Linux 的时钟设置文件为:/etc/localtime,实际上这个文件是 /usr/share/zoneinfo 目录下对应文件的符号连接 。假设我们所处的地区位于上海,那么只要运行以下的命令就可以设置时区了 。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Linux 启动时,其中的一个脚本会运行 /sbin/hwclock 程序,把当前的硬件时钟复制为系统 时间 。hwclock 假定硬件时钟已经设置为本地时钟,除非带有 –utc 参数 。脚本文件会读取 /etc/sysconfig/clock 文 件的设置,因此我们不需要修改脚本,直接修改这个配置文件就可以了,根据需要把其中的 UTC 行,设置为 true 或 者 false 。
设置硬件时钟时,首先使用 date 命令(“date MMDDhhmmYYYY.ss”) 设置好系统时钟,然后使用 “/sbin/hwclock –systohc” 把硬件时钟设置为和当前系统时间一致 。
如果你在某些应用下面的时间是错误的,那么你在运行 Red Hat Linux 5.0 或 5.1,解决的办法是建立 /usr/lib/zoneinfo 到 /usr/share/zoneinfo 的符号连接:
ln -s /usr/share/zoneinfo /usr/lib/zoneinfo
小结:时钟设置的问题本身比较简单,但是它涉及到几个基本的配置文件:
/etc/rc.d/rc.sysinit /etc/sysconfig/clock /etc/localtime /usr/share/zoneinfo时区的配置文件是/etc/sysconfig/clock 。用tzselect命令就可以修改这个配置文件,根据命令的提示进行修改就好了 。但是在实际工作中,发现这种方式是不能够使得服务器上的时间设置马上生效的,而且使用ntpdate去同步时间服务器也不能够更改时间 。即使你使用了date命令手工设置了时间的话,如果使用ntpdate去进行时间同步的话,时间又会被改动到原来的错误时区的时间 。而生产的机器往往是非常重要的,不能够进行重启等操作 。在网上找了几种方法试了下,发现如果要修改时区并且马上生效,可以更换/etc/localtime 文件来实现 。比如我的时区是中国上海,那么就可以使用如下的命令来使得时区的更改生效 。cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime然后最好使用下面的命令将更改写入bios 。

推荐阅读