1. 摘要
本篇文章主要介绍了在 Ubuntu 中使用 NTP 进行时间同步设置,通常客户端向服务器请求当前的时间,并根据结果来设置其时钟。
2. 内容
NTP 是通过网络来同步时间的一种 TCP/IP 协议。通常客户端向服务器请求当前的时间,并根据结果来设置其时钟。
这个描述是挺简单的,实现这一功能却是极为复杂的 - 首先要有多层 NTP 服务器,第一层 NTP 服务器连接原子时钟,第二层、第三层服务器则担起负载均衡的责任,以处理因特网传来的所有请求。另外,客户端可能也超乎你想象的复杂 - 它必须排除通讯延迟,调整时间的同时不干扰其它在服务器中运行的进程。幸运的是,所有的这些复杂性都进行了封装,你是不可见也不需要见到的。
在 Ubuntu 中,是使用 ntpdate和 ntpd来同步时间的,详细见官网。
3. 具体实现
3.1 timesyncd查看系统时间
在最新的 Ubuntu 版本中,timesyncd替代了 ntpd的客户端的部分。默认情况下 timesyncd会定期检测并同步时间。它还会在本地存储更新的时间,以便在系统重启时做时间单步调整。通过 timedatectl和timesyncd设置的当前时间状态和时间配置,可以使用timedatectl status命令来进行确认
输入查看时间指令:timedatectl
返回如下
vor@vor:~$ timedatectl Local time: 四 2022-09-29 09:26:18 CST Universal time: 四 2022-09-29 01:26:18 UTC RTC time: 四 2022-09-29 01:26:18 Time zone: Asia/Shanghai (CST, +0800)System clock synchronized: yes NTP service: active RTC in local TZ: no
3.2 安装ntpdate同步时间库
输入查看时间指令:sudo apt install ntpdate
返回如下
vor@vor:~$ sudo apt install ntpdate [sudo] vor 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列【新】软件包将被安装: ntpdate 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。 需要下载 48.8 kB 的归档。 解压缩后会消耗 178 kB 的额外空间。 获取:1 http://mirrors.aliyun.com/ubuntu focal-security/universe amd64 ntpdate amd64 1:4.2.8p12+dfsg-3ubuntu4.20.04.1 [48.8 kB] 已下载 48.8 kB,耗时 0秒 (198 kB/s) 正在选中未选择的软件包 ntpdate。 (正在读取数据库 ... 系统当前共安装有 147529 个文件和目录。) 准备解压 .../ntpdate_1%3a4.2.8p12+dfsg-3ubuntu4.20.04.1_amd64.deb ... 正在解压 ntpdate (1:4.2.8p12+dfsg-3ubuntu4.20.04.1) ... 正在设置 ntpdate (1:4.2.8p12+dfsg-3ubuntu4.20.04.1) ... 正在处理用于 man-db (2.9.1-1) 的触发器 ...
3.3 同步互联网时间
输入查看时间指令:sudo ntpdate time.windows.com
返回如下
vor@vor:~$ sudo ntpdate time.windows.com 29 Sep 09:36:56 ntpdate[5539]: adjust time server 20.189.79.72 offset 0.080762 sec
3.4 UTC改为localtime时间
输入查看时间指令:sudo hwclock --localtime --systohc
返回如下
vor@vor:~$ sudo hwclock --localtime --systohc vor@vor:~$
4. 总结
非常感谢各位大佬的支持,特别是《机器人工匠阿杰》UP主,到这里经典Ubuntu同步系统时间统教程就算完成了。大家快去探索Ubuntu系统的乐趣吧!🥳🥳🥳我们实现对外部世界进行感知🎏,充分认识这个有机与无机的环境🌻,科学地合理地进行创作和发挥效益🛹,然后为人类社会发展贡献一点微薄之力。🏃♂️🏃♂️🏃♂️