如何从基于 systemd 的 yocto 映像中完全删除 syslog
Howto remove syslog completely from a yocto image based on systemd
我想生成一个使用 systemd 作为唯一服务来控制我的系统日志的 Yocto 映像。所以我只想使用 journalctl
工具,根本不想引用系统日志。
为了设置 systemd 映像,我将我的发行版设置为这样(如 Yocto 文档中所述):
DISTRO_FEATURES_append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_dev_manager = "systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""
但是,构建的镜像添加了一个名为sysklogd
的rpm包,生成的镜像运行了一些syslog相关的systemctl服务:
- syslogd.service
- syslog.socket
我想在不参考系统日志的情况下生成图像。处理此问题的正确方法应该是什么?
提前致谢! :)
添加
VIRTUAL-RUNTIME_syslog = ""
在 .bb 或 .bbapend 文件中。这将删除 sysklogd 包。
参考文件 /meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb 定义为
VIRTUAL-RUNTIME_syslog ?= "sysklogd"
我终于解决了我的问题。首先,我按照 link:
中解释的信息从我的自定义图像中删除了 "busybox"
删除 busybox 后,定义此变量(如先前答案中的建议)按预期工作:
VIRTUAL-RUNTIME_syslog = ""
现在生成的图像不包含对 syslog 或 sysklogd 的任何引用。非常感谢您的支持!! :-)
我想生成一个使用 systemd 作为唯一服务来控制我的系统日志的 Yocto 映像。所以我只想使用 journalctl
工具,根本不想引用系统日志。
为了设置 systemd 映像,我将我的发行版设置为这样(如 Yocto 文档中所述):
DISTRO_FEATURES_append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_dev_manager = "systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""
但是,构建的镜像添加了一个名为sysklogd
的rpm包,生成的镜像运行了一些syslog相关的systemctl服务:
- syslogd.service
- syslog.socket
我想在不参考系统日志的情况下生成图像。处理此问题的正确方法应该是什么?
提前致谢! :)
添加
VIRTUAL-RUNTIME_syslog = ""
在 .bb 或 .bbapend 文件中。这将删除 sysklogd 包。 参考文件 /meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb 定义为
VIRTUAL-RUNTIME_syslog ?= "sysklogd"
我终于解决了我的问题。首先,我按照 link:
中解释的信息从我的自定义图像中删除了 "busybox"删除 busybox 后,定义此变量(如先前答案中的建议)按预期工作:
VIRTUAL-RUNTIME_syslog = ""
现在生成的图像不包含对 syslog 或 sysklogd 的任何引用。非常感谢您的支持!! :-)