从互联网更新时间和日期的命令是什么

Vik*_*eet 167 time

从 Internet 更新时间和日期的命令是什么?是否有任何应用程序允许我从其用户界面而不是从 shell 执行此操作?

小智 179

这是一个不错的小代码,我发现它可以更新您的时间,以防您遇到以下问题ntp

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案! (9认同)
  • 很好的解决方案! (2认同)
  • 有效,但我有一个问题。该命令将时钟设置为 GMT,而不是本地时间。有什么解决方法吗? (2认同)
  • 这很好,但通常会延迟 8 到 50 毫秒,因为它本身不同步。 (2认同)
  • 该解决方案有效,但不要指望与 NTP 相比的准确性。这种方法简单地向 google.com 发出 HTTP 请求并同步本地日期。NTP 远不止于此:https://datatracker.ietf.org/doc/html/rfc5905 (2认同)

Ano*_*ous 177

你可以这样做,例如sudo ntpdate time.nist.gov。其他服务器包括time.windows.com等。

http://www.pool.ntp.org/列出了世界各地的时间服务器。

  • ntpdate:找不到命令 (8认同)
  • @friederbluemle 正如[这个答案](http://askubuntu.com/a/254846/54949)中所说,你必须停止ntp服务`sudo service ntp stop`。然后您可以使用答案中建议的命令,最后您可以使用`sudo service ntp start`重新启动服务 (7认同)
  • 我收到“ntpdate[15806]: 找不到适合同步的服务器”错误。下面使用 google.com 的第二个答案效果更好 (6认同)
  • 我收到一个错误“NTP 套接字正在使用中,正在退出” (5认同)
  • 如果你想使用`nptdate`,但没有找到,那么:`sudo apt install ntpdate`; 请注意,它不再默认安装,并且可能不再是最新版本 ubuntu 的首选解决方案;有关更多选项(以及作为这个问题的其他答案) (3认同)

Use*_*ser 79

截至 2018 年,使用全新安装的 Ubuntu 16.04 LTS,运行sudo ntpdate time.nist.gov提供:

sudo: ntpdate: command not found
Run Code Online (Sandbox Code Playgroud)

这是因为(官方来源):

ntpdate被认为已弃用,timedatectl因此默认情况下不再安装。

而是这样做以强制同步现在发生:

sudo timedatectl set-ntp off
sudo timedatectl set-ntp on
Run Code Online (Sandbox Code Playgroud)

就我而言,我在虚拟机上运行 Ubuntu 并保存了机器状态,因此当我再次启动实例备份时,它不会自动同步时钟,因为没有启动事件来触发同步。所以时间仍然显示我上次运行虚拟盒子的时间。

  • 它也适用于我,在 Ubuntu 18.04 上。 (4认同)
  • Virtual Box 的不错选择。省去了很多调试的麻烦! (4认同)

Jay*_*ayo 19

在终端中运行此命令应该可以解决问题

sudo dpkg-reconfigure tzdata
Run Code Online (Sandbox Code Playgroud)

我认为,您可以通过单击时钟并查看其选项来以图形方式添加额外的时区。


小智 12

从命令行设置非常容易:https : //help.ubuntu.com/lts/serverguide/NTP.html从该链接:

Ubuntu 带有 ntpdate 作为标准,并会在启动时运行一次以根据 Ubuntu 的 NTP 服务器设置您的时间: ntpdate -s ntp.ubuntu.com

这是 GUI 示例https://help.ubuntu.com/community/UbuntuTime#Time_Synchronization_using_NTP

  • 请不要使用其他网站的链接。当它们消失时,您发布的信息也会消失。通过回答链接的内容来防止“链接腐烂”的发生(并在信用到期时给予信用)。 (6认同)

小智 6

我遇到这个问题是因为我会暂停虚拟机一段时间,当我恢复时,Ubuntu 20.04 将拒绝更新任何软件包,直到时间得到纠正。(即包裹不是来自“未来”)。

最简单的方法(通过终端)是运行以下命令:

sudo systemctl restart systemd-timesyncd
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 的主要 GNOME 版本 20.04 上进行了测试。

无需单独的命令来重新启动 NTP。还更新 GNOME 中报告的时间。

您可以将其添加到您的 bash 文件中:

synctime() {
  sudo systemctl restart systemd-timesyncd
}
Run Code Online (Sandbox Code Playgroud)

并在重新加载 bash 文件(或打开新终端)后运行命令。

synctime
Run Code Online (Sandbox Code Playgroud)


mmm*_*mmm 5

这里的大多数都不起作用,因为 ntp 将在几秒钟内覆盖您的设置。

您需要先禁用NTP。在 ubuntu 上,它是这样完成的:

    # Disable ntp
    sudo timedatectl set-ntp 0
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

    # Set software clock 
    sudo date --set="2018-04-01 22:22:22"
    # Sync with hardware clock 
    sudo hwclock --systohc
Run Code Online (Sandbox Code Playgroud)