Linux系统时间介绍和校时


从timedatectl 可以看到有本地时间、UTC时间、RTC时间和时区信息,如下:
Local time: Tue 2022-06-13 14:30:31 CST
Universal time: Tue 2022-06-13 06:30:31 UTC
RTC time: Tue 2022-06-13 06:30:32
Time zone: Asia/Shanghai (CST, +0800)

Local time:

Linux Local Time指的是Linux操作系统中的本地时间。同样的日期和时间,在不同的时区中可能有不同的显示结果。而本地时间则指的是计算机所在时区的日期和时间。Linux系统中,本地时间是指UTC(协调世界时,又称世界统一时间)加上该时区所对应的时间偏移量。

Universal time:

UTC,全称为世界协调时(Coordinated Universal Time),是一种时间标准,用于标记地球上不同地方的时间。UTC是以原子钟为基础,通过国际协调保持各地时间的一致性。它是航空、航海、科学研究、通讯等领域必备的时间标准,现已成为全球标准时间。不属于任意时区 ,协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC。

RTC time:

RTC(Real Time Clock)定时器可以提供系统当前的日期、时间,用以支持实时操作系统和与其内核组件交互,RTC定时器在Linux操作系统中已经发挥了重要作用。

在Linux操作系统中,RTC定时器是一种实时时钟,一般由芯片或者外设支持。它在非授权的系统中可以精确的记录和提供系统的当前日期时间,在各种设备故障时可以提供故障提示信息,以便定位和排除故障。

RTC定时器的使用其实也包含各种功能,像时钟设置、闹铃等,而Linux系统中一般不需要用户进行任何配置,RTC定时器就可以工作。以下介绍一些Linux下RTC定时器常用的使用方法。

1. 启用RTC定时器:使用“hwclock –systohc”命令可以将E RTC定时器设置为系统时钟,Refet使用“hwclock –hctosys”命令从系统时钟里读取时间到RTC定时器。

2. 保存设置:使用“hwclock –w”可以将RTC定时器的设置保存在CMOS存储芯片,而在系统重启时,CMOS存储芯片又会将设置读取至RTC定时器,这样就可以保持定时器设置不变。

4. 突发时间改变:Linux系统中也允许用户手动改变RTC定时器所记录的当前时间,即使突发时间发生改变,也可以通过调用相应的函数来改变它的值,为系统时间提供一定的辅助作用。

RTC定时器对于系统的正常运行和作业处理起到了重要的作用,同时它还为Linux系统提供了额外的时间管理支持。此外,RTC定时器响应时间的相关数据也是系统调整时间的重要依据,可以及时监测和分析系统中时钟同步和变化情况,从而提供时间源。

Time zone:

时区(Time Zone)是地球上的区域使用同一个时间定义。1884年在华盛顿召开国际经度会议时,为了克服时间上的混乱,规定将全球划分为24个时区。在中国采用首都北京所在地东八区的时间为全国统一使用时间。中国首都北京位于东八区,东八区的标准时就是中国的标准时间。但中国的授时中心却建在陕西渭北。北京时间由中国科学院陕西天文台的原子钟确定,其误差率每30万年小于1秒

date:
Tue Jun 13 15:14:29 CST 2022
其中CST为中央标准时间(Central Standard Time)
Central Standard Time (USA) UT-6:00(美国cst时间:零区时减6个小时)
Central Standard Time (Australia) UT+9:30(澳大利亚cst:加9个半小时)
China Standard Time UT+8:00(中国cst:加8个小时)
Cuba Standard Time UT-4:00  (古巴cst:减4个小时)   

更新时区信息的方法和系统有关,最常用的方法是修改/etc/localtime文件:

/# ls -l /etc/timestamp 
-rw-r--r-- 1 root root 15 Jun 13 09:41 /etc/timestamp
/# ls -l /etc/localtime 
lrwxrwxrwx 1 root root 33 Jun 12 17:19 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
 

Linux常用的校时方法:

NITZ/NTP/GPS(PPS)授时/RTC/chronyd

NITZ:网络标识和时区(英语:Network Identity and Time Zone,缩写NITZ)是一种通过无线网络向移动设备提供本地日期和时间、时区、夏时制偏移,以及网络提供商身份信息的机制,这通常用于移动电话自动更新系统时间

chronyc sources -v1 //查看时钟源

linux系统查看日历命令:

 cal -m
    January 2024
Mo Tu We Th Fr Sa Su
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

REPRODUCIBLE_TIMESTAMP_ROOTFS = "0000000000"的作用是系统起来后,修改rootfs的时间,会让rootfs系统起来后的文件时间发生变化。

There are numerous other issues: file mtimes in rootfs, pre-link time... All of these will get a timestamp as specified by the variable REPRODUCIBLE_TIMESTAMP_ROOTFS. This is a catch-all timestamp, used in the final step of building an image.

参考:

Reproducible Builds - Yocto Project

修改SOURCE_DATE_EPOCH为系统起来后系统默认的时间发(比如改为SOURCE_DATE_EPOCH = "0000000000"则系统起来时间为1970),否则会是编译时间,可参考:

linux-yocto/6.6: update CVE exclusions · yoctoproject/poky@4945ca6 · GitHub

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux系统中,NTP(Network Time Protocol,网络时间协议)被用于校准系统时间。NTP是一种客户-服务器协议,通过在网络中的NTP服务器上同步时间来确保系统时间的准确性。 在Linux系统中进行NTP校时的操作非常简单。首先,需要确保系统已经安装了NTP软件包。在大多数Linux发行版中,NTP是预装的,如果不确定是否已安装,可以使用软件包管理器来查找和安装。 一旦NTP软件包已经安装,就可以配置系统以连接到NTP服务器。这可以通过编辑ntp.conf文件来完成,该文件通常位于/etc/ntp.conf路径下。在此文件中,可以列出要连接的NTP服务器的IP地址或域名。 配置文件中还可以指定校时的频率和策略,以及其他一些高级选项。一般来说,使用默认配置即可满足大多数情况。 保存并关闭配置文件后,可以重启NTP服务,使新的配置生效。不同的发行版可能有不同的命令来启动/停止/重启服务,可以根据具体的发行版文档进行操作。 NTP服务启动后,系统会自动连接到指定的NTP服务器,并根据服务器返回的时间信息进行校时。一旦校时完成,系统的时钟就会被自动调整为准确的时间。 NTP校时Linux系统中非常重要,特别是在需要精确时间同步的应用程序中。它可以确保系统时间与网络中的其他设备保持一致,防止时间漂移和不同设备之间的时间差异。这在很多涉及到日志记录、计时和时间敏感操作的场景中非常关键。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a2591748032-随心所记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值