在Linux計算機上,有兩個時間,一個是硬件時間(BIOS中記錄的時間,稱為hwclock),另一個是操作系統時間(osclock)。硬件時鐘由BIOS電池供電,
當計算機關機后,會繼續運行,BIOS電池一般可使用幾年,如果沒電了,那BIOS中的數據會恢復出廠設置。
硬件時間與操作系統時間的交互流程
1、開機時,操作系統從BIOS中讀取硬件時間+時區,然后根據osclock的時區,轉換為對應的時間。然后操作系統時間與硬件時間就獨立運行,相互不影響,我們
通過應用程序獲取的時間用的都是操作系統時間。這一步是開機時os自動完成的。
2、主機運行過程中,通過ntp保證osclock與國際原子時同步,再將osclock同步到hwclock。這一步需要自己配置實現
3、關機時,osclock寫入hwclock。這一步是關機時os自動完成的。不過我們要考慮異常關機的情況,當異常關機時,osclock可能沒有寫入hwclock,這就是為什
么在第2步中將osclock定時刷入hwclock的原因。如果不定時刷入,那osclock與hwclock差距比較大時,若異常關機,osclock就丟掉了,再開機時,osclock就是
錯誤的,在第一個ntp同步到來時,osclock就一直是錯誤的。而且如果使用的是ntpd,ntpd是漸進調整,要經過多個ntp同步周期后才會將osclock調整為國際原子
時,另外,如果osclock與ntp server的時間差超過1000秒,那ntp server就不會更新osclock了。
ubuntu修改時區和時間的方法
1.首先查看時區:
codetc@webubuntu:~$ date -R
Tue, 17 Dec 2013 18:23:01 +0800
如果要修改時區,執行sudo tzselect
2.選擇區域:亞洲

codetc@webubuntu:~$ sudo tzselect
[sudo] password for codetc:
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5
3.選擇國家:中國

Please select a country.
1) Afghanistan 18) Israel 35) Palestine
2) Armenia 19) Japan 36) Philippines
3) Azerbaijan 20) Jordan 37) Qatar
4) Bahrain 21) Kazakhstan 38) Russia
5) Bangladesh 22) Korea (North) 39) Saudi Arabia
6) Bhutan 23) Korea (South) 40) Singapore
7) Brunei 24) Kuwait 41) Sri Lanka
8) Cambodia 25) Kyrgyzstan 42) Syria
9) China 26) Laos 43) Taiwan
10) Cyprus 27) Lebanon 44) Tajikistan
11) East Timor 28) Macau 45) Thailand
12) Georgia 29) Malaysia 46) Turkmenistan
13) Hong Kong 30) Mongolia 47) United Arab Emirates
14) India 31) Myanmar (Burma) 48) Uzbekistan
15) Indonesia 32) Nepal 49) Vietnam
16) Iran 33) Oman 50) Yemen
17) Iraq 34) Pakistan
#? 9
4.選擇時區:北京時間

Please select one of the following time zone regions.
1) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang (except Mohe), Jilin
3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
4) most of Tibet & Xinjiang
5) west Tibet & Xinjiang
#? 1
5.確認驗證:

The following information has been given:
China
east China - Beijing, Guangdong, Shanghai, etc.
Therefore TZ='Asia/Shanghai' will be used.
Local time is now: Tue Dec 17 18:22:10 CST 2013.
Universal Time is now: Tue Dec 17 10:22:10 UTC 2013.
Is the above information OK?
1) Yes
2) No
#? 1
You can make this change permanent for yourself by appending the line
TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai
6.復制文件到/etc目錄下
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
7.更新時間
sudo ntpdate time.windows.com
8.修改時間以后,修改硬件CMOS的時間
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接