codetc - 网站开发技术 首页 后端 服务器 查看内容

ubuntu系统修改时区和时间

2018-7-5 00:30| 发布者: CODETC| 查看: 199| 评论: 0

在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的时间
sudo hwclock --systohc
文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-344-1.html

最新评论

 作为游客发表评论,请输入您的昵称

返回顶部