我正在通过zeusyocto版本开发基于yocto的Linux发行版。我需要在分发中安装NTP客户端,并且我不想在映像中安装NTP服务器。
在zeusyocto版本中,我发现了以下配方:meta-openembedded/meta-networking/recipes-support /ntp/ntp_4.2.8p15.bb
,它与网络时间协议(NTP(有关。
配方包含以下关于自身的信息:
SUMMARY=";网络时间协议守护进程和实用程序";
描述=";网络时间协议(NTP(用于将计算机客户端或服务器的时间同步到另一个服务器或参考时间源,如收音机或卫星接收器或调制解调器">
以前的信息没有解释配方是否可以用于在分发中安装NTP服务器、NTP客户端或两者。
我需要的是一个能够连接到外部NTP服务器的NTP客户端应用程序。
以下说明:
IMAGE_INSTALL += "ntp"
不适合,因为在Linux发行版中添加了名为CCD_ 2的NTP服务器。
我必须向映像中添加什么包才能包含客户端NTP?它是包含在上一个食谱中,还是我必须找到一个不同的食谱?
感谢
后ntp配方的答案是没有安装ntpdate文件,这非常适合解决这个问题。
按指令:
IMAGE_INSTALL += "ntpdate"
在分发中仅安装ntpdate
和服务ntpdate.service
而不安装ntpd
及其服务。
为了避免安装ntpd
程序(NTP服务器(,必须删除以下指令:
IMAGE_INSTALL += "ntp"
。
关于使用Yocto安装软件包的有用教学
非常有用的以下评论出现在帖子中:ntp配方没有安装ntpdate文件:
说明:查看配方和
PACKAGES
变量:PACKAGES += "ntpdate sntp ${PN}-tickadj ${PN}-utils"
这意味着ntp配方包含以下包:
ntp
(默认${PN}
(、ntpdate
、sntp
、ntp-tickadj
、ntp-utils
。
此评论有助于了解,通常情况下,一个配方可以定义许多程序包,并且每个程序包都包含许多程序、配置文件等
分配IMAGE_INSTALL += ...
取决于必须安装的内容。
在本文的上下文中,如果OP只需要安装NTP客户端,则必须将其排除在默认包ntp
之外,并且必须将其包括在包ntpdate
中。