时间同步是保持计算机彼此同步运行的重要元素。 当系统涉及分布式计算或其他需要机器之间精确协调的操作时,准确计时尤为重要。 在本文中,我们将讨论如何在 Debian 系统上配置 NTP,以便运行相同版本 Linux 的机器保持彼此同步以及与世界其他地方保持同步。
目录
导航基本时间命令
在大多数 Linux 版本上,有几个基本命令可用于查看和设置系统时钟。 date 命令显示当前日期和时间,而 timedatectl 提供更详细的信息,例如夏令时是否处于活动状态:
$date Tue Jul 7 21:17:38 EDT 2020 $timedatectl status Local time: Tue 2020-07-07 21:17:51 EDT Universal time: Wed 2020-07-08 01 : 17 : 51 UTC RTC time : Wed 2020 - 07 - 08 01 : 17 : 51 Clock synchronized : yes Daylight Saving Time ( DST ) active : no NTP Synchronized True . . .
您还可以使用 timedatectl 手动调整本地或通用时钟。 为了 example,如果您需要将本地时钟提前五分钟更改,您可以从终端窗口运行此命令;
$timedatectl set-time “+5min”
配置 Timedatectl 和 Timesyncd
在 Debian 系统上,timedatectl 通常设置为自动管理系统时钟。 此工具使用网络时间协议 (NTP) 使系统时钟与同一网络上的其他计算机保持同步。 为了让您的系统时钟始终保持准确,您需要正确配置 NTP。
为此,您必须首先确保 timesyncd 已启用并正在运行。 该服务负责连接到 NTP 时间服务器并同步系统时钟。 要检查 timesyncd 是否正在运行,您可以使用以下命令:
$systemctl status systemd-timesyncd.service
如果状态为活动,则 timesyncd 正在运行,您可以继续配置 NTP。

配置 NTP
要开始配置 NTP,您需要打开 /etc/ntp.conf 文件。 此文件包含 NTP 的设置,用于控制 timesyncd 服务如何与 NTP 服务器通信。

您应该做的第一件事是添加要用于时间同步的 NTP 服务器列表。 您可以在线找到公共 NTP 服务器列表,也可以使用系统管理员提供的列表。
您可以根据您所在的时区在全球范围内找到各种 ntp 服务器 网站.
由于我目前位于印度,因此我将继续将印度 NTP 服务器放入 NTP 配置文件中。
server 0.in.pool.ntp.org server 1.in.pool.ntp.org server 2.in.pool.ntp.org server 3.in.pool.ntp.org

添加 NTP 服务器列表后,您可以在 ntp.conf 文件中配置其他设置。 这些设置包括时间偏移量,它决定时钟需要调整多少以匹配 NTP 服务器上的时间,以及其他选项,如 driftfile 和 leapfile,用于控制时钟的准确性。
设置时间同步
配置 NTP 并添加 NTP 服务器列表后,即可启动 timesyncd 服务。 为此,请运行以下命令:
$systemctl start systemd-timesyncd.service
服务运行后,您应该注意到您的系统时钟现在已与您指定的 NTP 服务器同步。
使用 Systemd-timesyncd 服务
systemd-timesyncd 是 systemd 系统和服务管理器提供的守护进程。 它用于跨网络同步系统时钟并保持其准确。 它是一个客户端守护进程,使用简单网络时间协议 (SNTP) 将系统时钟与 NTP 服务器提供的时间同步。
systemd-timesyncd 服务负责保持系统时钟与 NTP 服务器同步。 它还负责控制 NTP 更新的频率,并且可以根据您的需要将其配置为更新系统时钟的频率更高或更低。
要配置 systemd-timesyncd 服务,您可以使用 timedatectl 命令。 此命令允许您设置轮询间隔,它确定服务从 NTP 服务器检查更新的频率,以及其他设置,例如时间偏移和漂移文件。
例子:
- 要启用 timesyncd 服务,您可以使用以下命令:
systemctl enable systemd-timesyncd
- 要启动 timesyncd 服务,您可以使用以下命令:
systemctl start systemd-timesyncd
- 要将 timesyncd 服务配置为使用特定的 NTP 服务器,您可以使用以下命令:
timedatectl set-ntp true pool.ntp.org
- 要查看 timesyncd 服务的状态,可以使用以下命令:
timedatectl status --all
这将显示 timesyncd 服务的当前状态,包括它用于同步系统时钟的 NTP 服务器。
调整 NTP 服务器
如果您正在运行一个大型计算机网络,您可能需要调整 NTP 服务器以确保所有计算机保持彼此同步。 为此,您可以使用 ntpq 命令,该命令提供有关 NTP 服务器及其配置的详细信息。
使用此命令,您可以查看 NTP 服务器的当前状态,以及调整轮询间隔和时间同步精度等设置。 如果需要,您也可以使用此命令手动调整系统时钟。
为大型网络配置 NTP
为大型网络配置 NTP 时,选择正确的 NTP 服务器很重要。 您应该选择可靠且延迟低的服务器,因为这将确保网络上的所有机器彼此保持同步。
您还应确保正确配置了 NTP 服务器。 这包括将轮询间隔设置为适当的值,确保 driftfile 和 leapfile 的配置正确,并确保系统时钟准确。
概括
时间同步是保持计算机彼此同步运行的重要元素。 在 Debian 系统上,网络时间协议 (NTP) 用于保持系统时钟准确并与其他机器同步。
要在 Debian 系统上配置 NTP,您需要配置 /etc/ntp.conf 文件并启用 systemd-timesyncd 服务。 您还可以为大型网络调整 NTP 服务器,包括设置轮询间隔、漂移文件和跳跃文件,以及在必要时调整系统时钟。