前言
本文主要介绍如何在 Debian 系统上设置时区与同步时间,适用于 Debian 11 Bullseye、Debian 12 Bookworm 发行版。
设置时区
一般全自动安装好的 Debian 是 UTC 时间,与北京时间差 8 小时,所以最好将时区设置为常用的时区,这样方便使用与阅读。timedatectl
是一个新工具,它作为 systemd
系统和服务管理器的一部分,代替旧的传统的用在基于 Linux 分布式系统的 sysvinit
守护进程的 date
命令。timedatectl
命令可以查询和更改系统时钟和设置,可以使用此命令来设置或更改当前的日期、时间和时区,或实现与远程 NTP 服务器的自动系统时钟同步。
1
| timedatectl list-timezones
|
1
| sudo timedatectl set-timezone "Asia/Shanghai"
|
同步时间
一般重新设置系统时区后,现实时间会与系统时间之间会有误差,这时候建议使用 systemd-timesyncd
相关工具来解决时间差异的问题。特别注意:timedatectl
并不兼容 ntpd
等组件,请不要安装 ntpd
等组件,以免时间同步失效。
1
| sudo apt install systemd-timesyncd
|
- 更改配置文件,添加 NTP 服务器(添加一行 NTP 服务器地址)
1
| sudo vim /etc/systemd/timesyncd.conf
|
1 2 3 4 5
| [Time] NTP=pool.ntp.org 0.asia.pool.ntp.org 1.asia.pool.ntp.org 2.asia.pool.ntp.org #RootDistanceMaxSec=5 #PollIntervalMinSec=32 #PollIntervalMaxSec=2048
|
1
| sudo systemctl restart systemd-timesyncd
|
- 查看
systemd-timesyncd
服务的运行状态
1
| sudo systemctl status systemd-timesyncd
|
1
| sudo timedatectl set-ntp true
|
1 2 3 4 5
| timedatectl status
timedatectl timesync-status
timedatectl show-timesync --all
|