ubuntu 设置时间同步

打印 上一主题 下一主题

主题 983|帖子 983|积分 2949



1.概要

2.内容

在 Ubuntu 系统中设置时间同步,通常使用 systemd-timesyncd 服务,这是 Ubuntu 16.04 及更高版本中默认的时间同步服务。以下是设置时间同步的步骤:
1. 检查 systemd-timesyncd 服务状态

起首,检查 systemd-timesyncd 服务是否正在运行:
sudo systemctl status systemd-timesyncd
如果服务未运行,您可以使用以下命令启动它:
sudo systemctl start systemd-timesyncd
2. 设置 NTP 服务器

Ubuntu 默认使用 systemd-timesyncd 从 time.windows.com 和 time.google.com 等公共 NTP 服务器同步时间。如果您希望使用其他 NTP 服务器,可以编辑 /etc/systemd/timesyncd.conf 文件:
sudo nano /etc/systemd/timesyncd.conf
找到 [Time] 部门,并修改或添加以下行以指定 NTP 服务器(例如,使用 ntp.ubuntu.com):

  1. [Time]
  2. NTP=ntp.ubuntu.com
复制代码
保存文件并退出编辑器。
3. 重启 systemd-timesyncd 服务

修改设置后,需要重启 systemd-timesyncd 服务以使更改收效:
sudo systemctl restart systemd-timesyncd
4. 检查时间同步状态

您可以使用以下命令检查时间同步状态:
timedatectl status
在输出中,您应该可以或许看到 NTP synchronized: yes,表示时间同步已乐成设置。
5. 防火墙设置(如果需要)

确保防火墙设置允许 NTP 流量(UDP 端口 123)。如果您使用的是 ufw 防火墙,可以使用以下命令允许 NTP 流量:
sudo ufw allow 123/udp
6. 使用 chrony 或 ntp(可选)

虽然 systemd-timesyncd 是 Ubuntu 默认的时间同步服务,但您也可以选择使用 chrony 或 ntp 服务。以下是安装和设置 chrony 的简要步骤:


  • 安装 chrony

    1. sudo apt update
    2. sudo apt install chrony
    复制代码
  • 启动并启用 chrony 服务

    1. sudo systemctl start chrony
    2. sudo systemctl enable chrony
    复制代码

  • 设置 chrony(如果需要,编辑 /etc/chrony/chrony.conf 文件)。
注意事项



  • 网络连接:确保您的系统可以或许访问外部 NTP 服务器。
  • 权限:修改系统服务设置和重启服务通常需要超级用户权限。
通过以上步骤,您可以在 Ubuntu 系统中设置时间同步,确保系统时间准确无误。
3.关联链接

4.关联知识

1.服务已被禁用

  1. topeet@topeet:~/.local/share$ sudo systemctl status systemd-timesyncd
  2. [sudo] topeet 的密码:
  3. ○ systemd-timesyncd.service
  4.      Loaded: masked (Reason: Unit systemd-timesyncd.service is masked.)
  5.      Active: inactive (dead)
复制代码
当您看到 systemd-timesyncd.service 的状态为 masked 时,这意味着该服务已被禁用,并且链接到了 /dev/null,从而阻止其启动。要启用和使用 systemd-timesyncd 服务,您需要对其进行“排除屏蔽”并启动它。以下是步骤:
1. 排除屏蔽 systemd-timesyncd 服务

起首,您需要排除对 systemd-timesyncd 服务的屏蔽:
  1. [/code] sudo systemctl unmask systemd-timesyncd
  2. [size=3]2. 启动 systemd-timesyncd 服务[/size]
  3. 排除屏蔽后,您可以启动该服务:
  4. [code]
复制代码
sudo systemctl start systemd-timesyncd
3. 启用 systemd-timesyncd 服务(可选)

如果您希望 systemd-timesyncd 在系统启动时主动启动,可以启用它:
  1. [/code] sudo systemctl enable systemd-timesyncd
  2. [size=3]4. 检查服务状态[/size]
  3. 再次检查 systemd-timesyncd 的状态,以确保它正在运行:
  4. [code]
复制代码
sudo systemctl status systemd-timesyncd
您应该看到服务状态为 active (running)。
5. 验证时间同步

使用以下命令验证时间同步状态:
  1. [/code] timedatectl status
  2. 在输出中,NTP synchronized 应该显示为 yes,表示时间同步已乐成设置。
  3. [size=3]6. 设置 NTP 服务器(可选)[/size]
  4. 如果您需要更改默认的 NTP 服务器,可以编辑 /etc/systemd/timesyncd.conf 文件,然后重启 systemd-timesyncd 服务:
  5. [code]
复制代码
sudo nano /etc/systemd/timesyncd.conf
在 [Time] 部门中,您可以指定自定义的 NTP 服务器,例如:
  1. [/code]
  2. [code][Time]
  3. NTP=ntp.ubuntu.com
复制代码
保存文件并退出编辑器,然后重启服务:
  1. [/code] sudo systemctl restart systemd-timesyncd
  2. 通过这些步骤,您应该可以或许乐成启用和设置 systemd-timesyncd 服务,以确保系统时间保持准确。
  3. [size=4]2.Unit systemd-timesyncd.service not found 错误 [/size]
  4. 当您尝试排除屏蔽并启动 systemd-timesyncd 服务时,出现 Unit systemd-timesyncd.service not found 错误,通常意味着系统上没有安装或正确设置 systemd-timesyncd 服务,大概系统可能使用了不同的时间同步机制(例如 chrony 或 ntpd)。
  5. 以下是一些可能的解决方案和检查步骤:
  6. [size=3]1. 检查系统版本和 systemd 版本[/size]
  7. 确保您的 Ubuntu 版本支持 systemd-timesyncd。通常,systemd-timesyncd 是从 Ubuntu 16.04 开始默认提供的时间同步服务。
  8. [code]
复制代码

  1. lsb_release -a # 检查 Ubuntu 版本
  2. systemd --version # 检查 systemd 版本
复制代码
2. 安装 systemd-timesyncd

在某些情况下,systemd-timesyncd 可能被不测删除或未安装。通常,它是 systemd 包的一部门,但您可以尝试重新安装或确保 systemd 包完备:
  1. [/code]
  2. [code]sudo apt update
  3. sudo apt install --reinstall systemd
复制代码
3. 检查其他时间同步服务

检查是否安装了其他时间同步服务,例如 chrony 或 ntp,并确保它们没有辩论:
  1. [/code]
  2. [code]sudo systemctl status chrony
  3. sudo systemctl status ntp
复制代码
如果其他服务正在运行,您可能需要停止或禁用它们,以便使用 systemd-timesyncd。
4. 手动创建服务文件(极度情况)

如果服务文件确实丢失,您可以尝试从其他类似版本的 Ubuntu 系统中复制 /lib/systemd/system/systemd-timesyncd.service 文件,大概手动创建一个根本的服务文件。不过,这通常不是推荐的做法,由于可能会引入设置错误。
5. 使用其他时间同步工具

如果 systemd-timesyncd 不可用或无法正常工作,您可以考虑使用其他时间同步工具,例如 chrony:
  1. [/code]
  2. [code]sudo apt update
  3. sudo apt install chronysudo systemctl start chrony
  4. sudo systemctl enable chrony
复制代码
6. 检查日志

查看系统日志以获取更多信息,可能会有助于诊断题目:

  1. journalctl -xe
复制代码
通过这些步骤,您应该可以或许更好地相识为什么 systemd-timesyncd 服务不可用,并找到合适的解决方案。如果题目仍然存在,考虑检查系统的特定设置或寻求社区支持。
3.NTP(网络时间服务)服务的状态 

从你提供的 systemctl status ntp 输出中,我们可以看到 NTP(网络时间服务)服务的状态和一些相干的日志信息。以下是一些关键点的分析和发起:

  • 服务状态

    • 服务名称:ntp.service
    • 状态:active (running),表示服务正在运行。
    • 启动时间:Sat 2025-01-18 09:06:43 UTC,服务自那时起已经运行了2天。

  • 日志信息

    • Deleting interface #32 eth0:这表明在某个时候,NTP服务检测到网络接口eth0被删除或变更。
    • leapsecond file:涉及闰秒文件的处置惩罚,通常是NTP服务用来处置惩罚闰秒调整的文件。
    • receive: Unexpected origin timestamp:多次出现此日志,表明NTP服务器在吸收时间同步包时碰到了不测的原始时间戳。这可能是由于网络耽误、时间服务器的题目或客户端和服务器之间的时间差异过大。
    • local addr 192.168.1.123 ->:显示了NTP服务器使用的本地地点。
    • Listen normally on:表示NTP服务在指定的网络接口和地点上正常监听。
    • new interface(s) found: waking up resolver:当检测到新的网络接口时,NTP服务尝试重新剖析和同步时间。

  • 发起和排查步骤

    • 检查网络接口:确认服务器上的网络接口(如eth0)是否稳定,没有频繁变革或故障断开的情况。
    • 时间服务器设置:检查NTP的设置文件(通常位于/etc/ntp.conf),确保设置的时间服务器是可靠且可达的。
    • 网络耽误和稳定性:使用工具如ping或traceroute检查与服务器的网络连接是否稳定,耽误是否过高。
    • NTP服务器日志:查看更详细的NTP日志(可能在/var/log/ntp.log或类似位置),以获取更多关于“Unexpected origin timestamp”错误的信息。
    • 时间同步状态:使用ntpq -p命令查看NTP服务器的同步状态,确认它是否与上游时间服务器正确同步。

通过以上步骤,你可以更好地理解和解决NTP服务可能碰到的题目。如果题目一连存在,考虑更新NTP软件到最新版本或咨询网络管理员。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

知者何南

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表