Linux 每次啓動時鐘日期就多了 8 小時

http://www.qudong.com/OS/Linux/2009/0728/43485.html

計算機系統有兩個時鐘,一個是 BIOS,或者CMOS,或者說“硬件時鐘”,還有一個就是“系統(操作系統)時鐘”, 

如果這兩個時鐘的設置上有問題,或者Linux 的時鐘配置文件不正確的話,就會產生系統時鐘差 8 小時的問題。 


讓我們先查看 /etc/sysconfig/clock 的內容: 
[root@www /root]# cat /etc/sysconfig/clock  
ZONE=Asia/Shanghai ;/usr/share/zoneinfo 下面的文件。 
UTC=false ; 硬件時鐘是否爲 UTC 或者說 GMT 時鐘。 
ARC=false ;如果是在 Alpha 機器上,則設置爲 true 。 
把硬件時鐘設置爲 UTC 的好處就是他能自動設置夏時制,缺點時,在安裝有多重操作系統啓動的機器上,在另外的操作 
系統上時鐘會錯誤。 

Linux 的時鐘設置文件爲:/etc/localtime ,實際上這個文件是 /usr/share/zoneinfo 目錄下對應文件的符號連接。 
假設我們所處的地區位於上海,那麼只要運行以下的命令就可以設置時區了。 

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

Linux 啓動時,其中的一個腳本(/etc/rc.d/rc.sysinit)會運行 /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 

對初學者來說,確實需要一定的基本功纔可以對以上的幾個文件瞭如指掌。但是仔細閱讀 hwclock 的 man 手冊,相信這些 
問題都能迎刃而解。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章