跳过硬件时钟并从 NTP 设置系统时间

跳过硬件时钟并从 NTP 设置系统时间

由于某种原因,我的 HP Proliant Microserver(运行 Debian Jessie)的 BIOS 不再喜欢它的电池,我更改了几次,它总是抱怨电池已空,这是不正确的,我用电压表检查了。

结果,机器在启动时忘记了日期,显然在重新启动时导致了各种问题。作为一个“简单”的解决方法,我想阻止 Debian 使用 hwclock 作为时间源,而是使用 ntpd,然后(如果需要)将 hwclock 设置为 ntp 检索到的时间。

在过去的几年中,时间管理方式似乎发生了一些变化,ntpdate 似乎不再是正确的方式。ntpd -qg有效,然后有人说 timedatectl 是当今在 systemd 发行版上处理时间设置的正确方法,但它在我的 Debian 上不能开箱即用(“无法创建总线连接:没有这样的文件或目录”) 。

  1. 在 Debian Jessie 系统上启动时通过 ntp 检索系统时间的正确方法是什么?

  2. 如何防止 Debian 使用 hwclock 作为时间源? (https://wiki.debian.org/DateTime提到 /etc/init.d/hwclock.sh - 那么我是否删除它?)

答案1

首先,您确实需要正确设置时钟您获得网络连接。

在 Debian 上,有一个名为 的软件包fake-hwclock可以确保一切保持正常。它存储关闭时的日期,然后将系统时间设置为启动时的日期。这可以确保时钟永远不会出现倒转的情况。它广泛用于更便宜的 SBC 系统,例如 Raspberry Pi。您只需安装它即可切换到使用它。它将覆盖 systemd 从硬件中提取的时间。

至于通过 NTP 实际设置时间,请查看systemd-timesyncd各种 NTP 客户端之一。只需启动一个即可确保时钟设置正确,尽管您可能需要特殊配置才能使其正确调整时间(例如,官方 NTP 守护进程将需要您将 otpion 传递-g给它,以便它覆盖时间不用担心现有的偏移量)。

相关内容