欢迎访问 [筑砼匠] ,
我们努力分享有用的专业知识。

如何在Ubuntu上设置或更改时区时间同步的常用方法

在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 20.04上设置或更改时区

对于许多与系统相关的任务和进程,使用正确的时区至关重要。 例如,cron守护程序使用系统的时区执行cron作业,而日志文件中的时间戳基于系统的同一时区。

在Ubuntu上,系统的时区是在安装过程中设置的,但以后可以轻松更改。

本文介绍了如何使用命令行或通过GUI在Ubuntu 20.04上设置或更改时区。

先决条件

只有具有sudo特权的root或用户可以设置或更改系统的时区。

检查当前时区

timedatectl是一个命令行程序,可让您查看和更改系统的时间和日期。 它在所有基于现代systemd的Linux系统上都可用,包括Ubuntu 20.04。

要打印当前系统的时区,请不带任何参数地调用timedatectl

timedatectl

以下输出显示系统的时区设置为“ UTC”:

Local time: Wed 2020-05-06 19:33:20 UTC
Universal time: Wed 2020-05-06 19:33:20 UTC
RTC time: Wed 2020-05-06 19:33:22    
Time zone: UTC (UTC, +0000)           
System clock synchronized: yes                         
NTP service: active                      
RTC in local TZ: no   

通过将/etc/localtime符号链接到/usr/share/zoneinfo目录中的二进制时区标识符来配置系统时区。
查看当前系统时区的另一个选项是找到 symlink 到的文件。 指向:

ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 10 12:59 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

系统的时区也写入了/etc/timezone文件:

cat /etc/timezone
UTC

使用timedatectl命令更改时区

更改时区之前,您需要找出要使用的时区的长名称。 时区使用“地区/城市”格式。

要列出所有可用时区,可以列出/usr/share/zoneinfo目录中的文件,也可以使用list-timezones选项调用timedatectl命令:

timedatectl list-timezones
...
America/Montevideo
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
...

确定了您所在位置的准确时区后,以sudo用户身份运行以下命令:

sudo timedatectl set-timezone your_time_zone

例如,将系统的时区更改为America/New_York

sudo timedatectl set-timezone America/New_York

调用timedatectl命令以验证更改:

timedatectl
Local time: Wed 2020-05-06 15:41:42 EDT  
Universal time: Wed 2020-05-06 19:41:42 UTC  
RTC time: Wed 2020-05-06 19:41:48      
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes                         
NTP service: active                      
          RTC in local TZ: no   

使用GUI更改时区

如果您运行的是Ubuntu桌面,则可以通过GUI更改当前系统的时区。

通过单击Settings图标打开系统设置窗口

在系统设置窗口中,单击Date & Time选项卡。 如果Automatic Time Zone设置为ON,并且您已启用Internet连接和位置服务,则应根据您的位置自动设置时区。

选择新时区 ,您可以点击地图或通过搜索栏搜索时区。

完成后,单击×关闭窗口。


Ubuntu ntp服务安装

a).ntp服务端安装

root@ubuntu:/# sudo apt-get install ntp

b).ntp客户端安装

root@ubuntu:/# sudo apt-get install ntpdate

Ubuntu修改时区和时间的方法

1.首先查看时区:

  codetc@webubuntu:~$ date -R  Tue, 17 Dec 2013 18:23:01 +0800

如果要修改时区,执行 codetc@webubuntu:~$ sudo tzselect

2.选择区域:Asia

3.选择国家:China

4.选择时区:Beijing

5.确认验证:1) Yes   2) No

6.复制文件到/etc目录下

  sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

7.更新时间

  sudo ntpdate time.windows.com

8.修改时间以后,修改硬件CMOS的时间

  sudo hwclock --systohc

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权。
文章名称:《如何在Ubuntu上设置或更改时区时间同步的常用方法》
本站资源仅供个人学习交流使用,请于下载后24小时内删除,不允许用于任何商业用途,否则法律问题自行承担。

评论/留言 抢沙发

筑砼匠_筑之所道,匠心天成。

筑砼匠建筑结构工程博客是专注于建筑结构、土木工程、结构工程、钢结构、工程设计、工程管理、工程规范、考试考证、工程专业软件使用等工程领域的技术型知识分享博客。

关于本站隐私政策

觉得文章对你有用就扫码赞助一下本站吧O(∩_∩)O~。

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起构建更加和谐的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册

Search
软件
主页
建筑
土木