You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SLES15环境下如何使用Meinberg参考时钟?

SLES15环境下如何使用Meinberg参考时钟?

我完全理解你的困扰——好好的Meinberg PZF535 DFC-77时钟在SLES12 SP5上用ntpd跑得好好的,升级到SLES15后因为换成chrony就没法用了,这种“被迫适配”的感觉确实糟心。下面给你几个实际可行的解决思路:

方案一:在SLES15上重新启用ntpd

虽然SUSE默认换成了chrony,但不一定完全移除了ntpd的相关包。你可以先尝试从系统源里找回ntp套件:

zypper search ntp

如果能找到ntp包(通常包含ntpd主程序),直接安装即可:

zypper install ntp

安装完成后,编辑/etc/ntp.conf,把你之前用的Meinberg时钟配置加回去:

server 127.127.8.0 mode 0

接下来停掉并禁用默认的chrony服务,同时启用ntpd:

systemctl stop chronyd
systemctl disable chronyd
systemctl enable --now ntpd

最后用ntpq -p命令验证时钟是否正常同步。如果系统默认源里没有ntp包,记得去SLES15的Legacy Module(遗留模块)扩展源里找找,SUSE通常会把这类旧版工具放在扩展源中。

方案二:用用户空间工具桥接Meinberg时钟与chrony

chrony虽然没有直接支持Meinberg的硬件驱动,但它支持通过SHM(共享内存)或SOCK(套接字)读取参考时钟数据。你可以借助用户空间工具把Meinberg时钟的时间转换成chrony能识别的格式:

  • 先安装Meinberg相关的用户空间工具(比如mbgtools套件),这类工具通常能直接读取PZF535时钟的时间数据;
  • 配置工具定期把时钟时间写入到chrony默认监听的SHM段(比如段0);
  • 编辑/etc/chrony.conf,添加SHM类型的参考时钟配置:
    refclock SHM 0
    
  • 重启chronyd服务,它就能从共享内存中读取Meinberg时钟的时间了。

如果找不到现成的工具,也可以自己写个简单的脚本或小程序,调用Meinberg时钟的驱动接口读取时间,再写入指定的SHM段——这个方法稍显麻烦,但灵活性拉满。

方案三:手动编译安装ntpd

如果上面的方法都走不通,那就自己动手编译ntpd:

  1. 先安装编译依赖:
    zypper install gcc make autoconf libtool pkg-config
    
  2. 下载ntp官方源码包,解压后进入源码目录;
  3. 配置编译选项,确保启用所有时钟驱动(包括Meinberg的):
    ./configure --enable-all-clocks --enable-parse-clocks
    
  4. 编译并安装:
    make
    make install
    
  5. 复制你原来的ntp.conf到合适的位置(比如/usr/local/etc/ntp.conf),添加Meinberg的配置,最后创建systemd服务文件来管理编译好的ntpd进程。

这三个方案里,方案一肯定是最省心的,优先推荐尝试。

备注:内容来源于stack exchange,提问作者U. Windl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 11:08:05