【问题标题】:How to import systemd under DNF package in Yocto?如何在Yocto中导入DNF包下的systemd?
【发布时间】:2022-12-05 22:53:58
【问题描述】:

我正在尝试将 DNF 日志记录从默认值移到文件处理程序(/var/log/dnf.log) 到日志处理器作为任务的一部分。

我的基本代码 sn-p 在我的 .py 下

import sys
import logging

from systemd.journal import JournalHandler

log = logging.getLogger('demo')
log.propagate = False
log.addHandler(JournalHandler())
log.setLevel(logging.INFO)

但我看到以下错误,

    from systemd import journal
ImportError: No module named 'systemd'
  • 我正在使用 Yocto 交叉编译器
  • 我已经有以下配置
inherit systemd
SYSTEMD_AUTO_ENABLE = "enable"

有没有解决这个问题的方法...

我试过 Yocto 继承。 导入系统和日志记录

【问题讨论】:

    标签: python yocto systemd dnf systemd-journald


    【解决方案1】:

    您的系统上似乎没有安装 systemd 模块。您可以尝试使用 pip install systemd 安装它。

    但是,值得注意的是,systemd 通常仅在使用 Systemd init 系统的系统上可用,这在 Yocto 中并不常用。如果您的系统未使用 Systemd,则 JournalHandler 类将不可用,您将需要使用不同的日志记录处理程序。

    如果您不确定您的系统是否正在使用 Systemd,您可以通过运行 ps 命令并查找 systemd 进程来检查。如果它正在运行,那么您的系统可能正在使用 Systemd。否则,它可能正在使用不同的初始化系统。

    无论哪种情况,我都建议您查看您正在使用的日志记录库的文档,了解还有哪些其他日志记录处理程序可用,然后选择适合您的系统的一个。

    【讨论】:

    • 我的系统支持systemd, root 2194 1 0 14:34 ? 00:00:01 /lib/systemd/systemd-journald root 3567 1 0 14:34 ? 00:00:00 /lib/systemd/systemd-udevd 消息+ 3799 1 0 14:34 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only root 3878 1 0 14:34 ? 00:00:00 /lib/systemd/systemd-logind guest 7141 1 2 14:36 ? 00:00:00 /lib/systemd/systemd——用户
    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 2018-11-12
    • 1970-01-01
    • 2018-07-22
    • 2022-06-23
    相关资源
    最近更新 更多