我陷入了一个混乱的境地,我应该安装一个带有“ptpd”时间服务的环境。现在我的问题是我的 ptpd 服务器在 Ubuntu 16.04 上运行,默认情况下提供最新的 ptpd 版本 3.2.1。但我的所有客户端都在 Ubuntu 14.04 上运行,默认情况下提供 ptpd 版本 2.2.2。有没有办法让我在 Ubuntu 14.04 上运行版本 3.2.1,或者 - 如果没有 - 有没有办法让我在 Ubuntu 16.04 上运行版本 2.2.2?我只需在两个系统上安装相同的 ptpd 版本即可。我确实在 Linux 方面有一些经验,但我不是这方面的专家,所以如果有人能给我一个如何做到这一点的分步教程,那就太好了。先感谢您!
答案1
我终于弄清楚如何在 Ubuntu 14.04 上安装 ptpd 2.3.1 并在系统重新启动后自动启动,这是我的分步教程:
下载ptpd2.3.1从来源锻造
复制ptpd-2.3.1.tar.gz到/选择:
sudo cp ptpd-2.3.1.tar.gz /opt
导航/选择
cd /opt
解压文件:
sudo tar xvzf ptpd-2.3.1.tar.gz
删除文件ptpd-2.3.1.tar.gz:
sudo rm -rf ptpd-2.3.1.tar.gz
重命名文件夹ptpd-2.3.1到点对点:
sudo mv /opt/ptpd-2.3.1 /opt/ptpd
导航/选择/ptpd:
cd /opt/ptpd
运行以下三个命令:(
如果您正在配置 ptpd-掌握,插入:)
sudo ./configure
(如果您正在配置 ptpd-奴隶, 插入:)
sudo ./configure --enable-slave-only
sudo make
sudo make install
创建文件ptpdStart.sh文件夹内/usr/local/bin/:
sudo touch /usr/local/bin/ptpdStart.sh
编辑该文件:
sudo nano /usr/local/bin/ptpdStart.sh
粘贴以下两行,然后保存文件并退出编辑器(当然你必须替换<网络接口>与您想要用于 ptpd 流量的网络接口的真实名称。)
sleep 30
:(睡觉很重要(!)因为点对点如果启动时未找到任何功能性网络连接,则不会启动)
如果您正在配置 ptpd-掌握插入:
sudo /opt/ptpd/src/ptpd2 -M -i <networkinterface>
如果您正在配置 ptpd-奴隶插入:
sudo /opt/ptpd/src/ptpd2 -s -i <networkinterface>
使文件可执行:
sudo chmod +x /usr/local/bin/ptpdStart.sh
编辑文件/etc/rc.local:
sudo nano /etc/rc.local
前 出口0粘贴以下行,然后保存文件并退出编辑器(不要删除出口0):
/usr/local/bin/ptpdStart.sh
重新启动计算机并检查 ptpd 是否正在运行:
ps -A | grep ptpd2
注意:如果没有显示任何内容,则 ptpd 未运行!在这种情况下,请再次仔细检查步骤!
笔记!可选:如果您还有更多进程想要通过以下方式自动启动rc-.local-文件中,您必须通过插入“&”来分隔这些命令。例子:
/usr/local/bin/ptpdStart.sh
&
/usr/local/bin/myOtherStartScript.sh
exit 0
有关其他选项,请查看 ptpd 的在线文档。
答案2
自从 ptpd取决于 libc6 (>= 2.15)您可以尝试从该页面下载 ptpd 软件包并将其安装在 16.04 系统上dpkg -i
(或者相反 - 在旧系统上安装较新的 ptpd)。
或者将您的 14.04 系统更新到 16.04?