嵌入式 Debian-Linux,无时区

嵌入式 Debian-Linux,无时区

我们有一个以嵌入式 Debian-Linux 作为操作系统的平台,该平台将在全球范围内分发。我们有一个电池供电的 RTC,应该用作系统时间。我们不想有任何时区或任何有关当地时间的信息。

但每次我们有以太网连接时,系统时间都会更改为 utc。

到目前为止我们已经尝试过什么

1)删除了本地时间和区域信息文件。 -> 没有效果,插入以太网后时间仍在变化。

2)将本地时间设置为 /usr/share/zone/UTC -> 仍然没有效果,时间自动更改为 utc。

我的问题:

1)插入以太网后,是什么改变了我们的时间?我们没有任何时间服务器!

2)是否有办法调整系统,以便我们不依赖任何时区信息。我们所需要的只是使用嵌入式 RTC 作为我们的时间信息。

答案1

unix 系统被设计为在 UTC 上运行,时区对于我们这些喜欢查看当地时间的人类来说是一种方便。在同一个系统上工作的两个用户可能位于不同的时区,因此在其环境中设置了不同的时区。

看来您想强制系统在您的时区运行,但您也说您想忽略时区,那么就忽略它们并以 UTC 工作。

话虽如此,应该可以在错误的时间运行系统,从而达到你想要的效果。

正如其他人所建议的那样,ntpd或者ntpdate可能正在更改您的系统时间。

在我的系统(ubuntu14.04)上,快速 grep for ntpin/etc显示ntpdate当网络启动时被调用,并且在 dhcp 客户端作为 shell 挂钩退出后设置时间服务器。

/etc/dhcp/dhclient-exit-hooks.d/ntpdate
/etc/network/if-up.d/ntpdate

看看那里。

此外,时间更改通常会记录在您的系统日志中,搜索step time server

答案2

当网络通过 DHCP 配置时,就可以设置时区。请参阅 serverfault.com/questions/333348/

DHCP 还可以设置 ntp 服务器,但你说 ntpd 没有运行,所以这里并不重要。但正如解决方案所示,ntpdate 可以被运行。因此,根据我最初的评论,您应该确保 ntpdate 不在 via 周围sudo apt-get uninstall ntp

相关内容