时间同步对于确保 Debian 和其他类 Unix 系统的可靠性、安全性和功能至关重要。网络时间协议 (NTP)是时间同步的基本元素,可将客户端计算机的时钟与时间服务器同步。
本文介绍如何使用 NTP 和替代方案在 Debian 上设置时间同步。
在 Debian 上设置时间同步
正确的时间设置对于现代软件的正常运行至关重要。系统间时间同步不良会导致各种问题,从简单的错误到严重的数据损坏。以下部分介绍如何在 Debian 上设置时间同步。
第 1 步:检查 Debian 上的时间
使用date
命令检查服务器上的时间:
date
输出显示当前时间以及当前日期。输出中的当前时间通常采用协调世界时 (UTC)。 UTC 是零经度的时间,被接受为通用时区。
第 2 步:设置时区
该date
命令默认打印 UTC 区域。然而,用户有时需要更改 Debian 上的时区,这是通过timedatectl
命令完成的。请按照以下步骤更改 Debian 上的时区:
1. 列出 Debian 上可用的时区:
timedatectl list-timezones
该命令打印所有可用时区的列表。
2. 使用空格键和b键浏览输出。
3. 选择时区。例如,美国/东部。
4. 按q退出列表。
5. 使用以下命令更改时区:
sudo timedatectl set-timezone <timezone>
例如,要将时区更改为美国/东部运行:
sudo timedatectl set-timezone US/Eastern
该命令没有显示任何输出
6. 使用以下命令验证更改date
:
date
输出显示 EDT 时间,即美国和加拿大东部夏令时间的缩写。
步骤3:检查ntpd的状态
Debian 运行标准网络时间协议守护进程(ntpd
)以将系统时间与外部时间服务器同步。 NTP是同步时间的协议,ntpd
是实现NTP协议的程序。
要确认ntpd
正在运行,请执行systemctl命令:
sudo systemctl status ntp
输出显示该ntpd
服务处于活动状态。因此,ntpd
正在运行并与时间服务器同步。
但是,该ntpq
命令提供有关ntpd
状态的附加信息:
ntpq -p
该ntpq
命令是一个ntpd
查询工具。该-p
参数指定有关当前连接的 NTP 服务器的信息ntpd
。
从 ntpd 切换到 timesyncd
Timesyncd
是一种轻量级ntpd
替代方案,配置更简单、更高效、更安全。此外,timesyncd
还可以更好地与systemd
.此功能使使用命令轻松管理systemd
。
但是,timesyncd
不能用作时间服务器,并且在保持系统时间同步方面不太复杂。这些功能使得该程序不太适合需要准确性和可靠性的系统。复杂的实时分布式系统通常使用ntpd
.
不过,选择的用户timesyncd
需要ntpd
先删除。按照步骤:
1.卸载ntpd
:
sudo apt purge ntp
2. 如果timesyncd
系统上没有该软件,请运行以下命令进行安装:
sudo apt install systemd-timesyncd
2、启动timesyncd
服务:
sudo systemctl start systemd-timesyncd
该命令没有输出。
3. 检查状态:
sudo systemctl status systemd-timesyncd
输出确认timesyncd
正在运行。要显示当前时间和日期,请运行:
timedatectl
输出打印信息,例如:
- 当地时间
- 世界时间
- 系统实时时钟(RTC)时间
- 时区
- 确认系统时钟已同步