如何在本地时间进行时间同步?

Tob*_*ler 5 dual-boot arch-linux windows timezone clock

Arch wiki建议

时间标准

  • 推荐:将 Arch Linux 和 Windows 都设置为使用 UTC,遵循Windows 中的 Time#UTC。另外,一定要防止 Windows 同步在线时间,因为硬件时钟将默认回本地时间。

  • 不推荐:将 Arch Linux 设置为 localtime 并禁用任何与时间相关的服务,例如NTPd。这将使 Windows 负责硬件时钟校正,您需要记住在DST 开始时每年至少启动两次(春季和秋季)进入 Windows 。所以请不要在论坛上问为什么时钟是一个如果您通常数天或数周没有启动到 Windows,则延迟或提前一小时。

Time#UTC_in_Ubuntu提到

Ubuntu 中的 UTC

如果在 Ubuntu 安装期间在任何磁盘上检测到 Windows,Ubuntu 及其衍生产品将硬件时钟设置为“本地时间”。这样做显然是为了允许新的 Linux 用户在他们的 Windows 计算机上试用 Ubuntu,而无需编辑注册表。

要在 Ubuntu 中更改此行为,您需要执行以下操作。打开文件:

/etc/default/rcS
Run Code Online (Sandbox Code Playgroud)

并将 UTC 标志更改为UTC=yes

那么,有没有什么方法可以让 Arch Linux 像 Ubuntu 一样运行UTC=no,即不需要修改 Windows 时钟(即硬件时钟使用本地时间)并且仍然可以让 Arch Linux 同步时间(因为我几乎不使用Windows 了,但不幸的是不能放弃它,不想记住我是如何解决时间问题的,如果我必须重新安装 Windows)?

Tob*_*ler 5

虽然你可以使用

sudo timedatectl --adjust-system-clock set-local-rtc true
Run Code Online (Sandbox Code Playgroud)

设置硬件时钟使用本地时间,这将禁用NTP同步,并timedatectl status明确告知你:

网络时间开启:是 NTP 同步:本地 TZ 中没有 RTC:是

警告:系统配置为读取本地时区的 RTC 时间。无法完全支持此模式。它会在时区更改和夏令时调整方面产生各种问题。RTC 时间永远不会更新,它依赖于外部设施来维护它。
如果可能,请通过调用
“timedatectl set-local-rtc 0”在 UTC 中使用 RTC 。

因此,似乎没有任何方法可以在不破坏 DST 适应的情况下进行这项工作(再说一次,DST 应该完全废除......)。