安裝完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