如何保持系统时间?


Answers:


41

软件方案

保持系统时间最流行的方法是通过网络时间协议守护程序(NTPd)。

NTPd是使用网络时间协议将GNU / Linux系统的软件时钟与Internet时间服务器同步的最常用方法。

NTPd应该已经在默认操作系统Debian Squeeze上安装和设置。尽管对于Arch Linux,您将需要手动安装和配置它。

首先,您应该安装NTP。

$ sudo pacman -S ntp

现在,您可以通过命令行手动更新它。

$ sudo ntpd -qg

或者,您可以在启动时通过将其添加到/etc/rc.conf文件中将其添加到守护程序列表中。像这样

# /etc/rc.conf
DAEMONS=(!hwclock ntpd)

请注意,您需要在守护程序列表中在其hwclock前面加上感叹号(!)来禁用它。


来自mlp的提示如果将其添加ntpdate到守护程序列表中,则启动后的时间将得到更正。因此,您的守护程序列表将如下所示。

# /etc/rc.conf
DAEMONS=(!hwclock ntpd ntpdate)


1
/etc/rc.conf也已弃用。
rubenvb

1
如果不建议使用/etc/rc.conf,那有什么选择?这正是我所需要的。
Jonathan S. Fisher

1
@exabrial systemctl enable ntpd.service类似于添加到中/etc/rc.conf
Lekensteyn 2013年

全新安装使它可以从各种来源获取时间,这些来源可能与Master时钟相距很多跳。有关详细信息,以及为什么你应该将其更改为time.nist.gov的原因,看到这个Q&A: raspberrypi.stackexchange.com/questions/68811/...
SDsolar


3

对于非联网的应用程序(或网络时间可能不够好的应用程序),您可以将RTC时钟(@Alex Chamberlain的答案)设置为GPS接收器或VLF接收器的时间(在NW Europe中为Rugby MSF) 。对于现场部署的设备(机器人,现场监控等),这两者都是极好的解决方案。

两种解决方案都将成为良好的爱好项目。我记得在1980年代制造过橄榄球MSF接收器。现成的GPS接收器(“冰球”)将以NMEA 0183句子给出时间和日期-然后,这将是提取此信息的简单编码项目。


1
有趣的是,现在实际上是从Cumbria的Anthorn广播电台而不是Rugby广播MSF时间信号。
tomfanning 2012年

1
目前不在英国居住,我已经有一段时间没有开车去M1了:那么他们是否砍掉了“森林”?(我假设附近在达文
垂的

不确定-我在M1的国家方面错了。但是,根据en.wikipedia.org/wiki/Rugby_Radio_Station的报道,橄榄球广播电台似乎已在2007年中期停止活动-涉及拆除工作,包括照片。这里有一个视频:youtube.com/watch?v=bx2lhSUuGqU。但是,在Google街景视图上仍然可以看到桅杆,我可以肯定这是比2007
。– tomfanning 2012年

在Wikipedia上环顾四周,在达文垂(Daventry)没有提到“海军”桅杆,所以我一定会误会-只是一个非常古老(现已拆除)的帝国发射器。因此,现在M1驱动器变得更加无聊!
winwaed 2012年

3

使用systemd在Arch Linux上安装NTP守护程序:

sudo pacman -S ntp
sudo systemctl enable ntpd
sudo systemctl start ntpd

在我的情况下,还要确保正确设置了时区:

sudo rm /etc/localtime
sudo ln -s  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

0

如果您不想一直在系统上运行NTP,则可以使用以下几种不同的选项之一来设置时间:

  • ntpdate-安装后,它将设置系统以获取出现任何接口的时间(尽管已“弃用”它仍在广泛使用)。
  • rdate-更简单,更轻量的方法,尽管准确性有所降低。
  • tlsdate-使用TLS / SSL服务器作为时间源的更安全的选项。

显然,由于所有时钟都会漂移,因此您的时钟不会像使用NTP一样准确,而且由于这些应用仅使用单个时间源,因此如果他们选择的源有问题,它们可能会导致设置错误的时间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.