设置时区
首先设置Debian的时区,一般全自动安装好的Debian是UTC时间,与北京时间差8小时,所以我们最好将时区设置为常用的时区,方便使用与阅读。
timedatectl是一个新工具,它作为systemd系统和服务管理器的一部分,代替旧的传统的用在基于Linux分布式系统的sysvinit守护进程的date命令。
timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步。
设置时区为上海:
# timedatectl set-timezone "Asia/Shanghai"
要查看所有可用的时区,运行以下命令:
# timedatectl list-timezones
同步时间
一般重新设置时区以后,时间会与本地时间有差距,这时候建议使用同步来解决时间差异的问题。
注意:timedatectl并不兼容ntpd等组件,请不要安装ntpd等组件,以免时间同步失效。
在一部分发行版里并没有内置systemd-timesyncd相关工具,这时候我们需要安装它:
sudo apt install systemd-timesyncd
要增加 NTP 服务器,则需要修改 /etc/systemd/timesyncd.conf
sudo nano /etc/systemd/timesyncd.conf
[Time]
#NTP=
#FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048
添加服务器需要取消 NTP=
这一行的注释,并填入 NTP 服务器地址。
例如:
NTP=pool.ntp.org 0.asia.pool.ntp.org 1.asia.pool.ntp.org 2.asia.pool.ntp.org
多服务器间用空格分割。
保存更改后,重启 systemd-timesyncd
服务
$ systemctl restart systemd-timesyncd
之后验证配置可以使用 timedatectl show-timesync --all
要启用并运行:
$ timedatectl set-ntp true
同步需要一点时间,可能会卡住。
查看状态使用:
$ timedatectl timesync-status
参考:
https://askubuntu.com/questions/1338764/cant-start-enable-timesyncd-on-20-04-lts