systemd 创建的配置文件放置在哪里

systemd 创建的配置文件放置在哪里

我有一个在 Raspberry Pi 上运行的 systemd 服务,它从 EEPROM 读取配置并将其转换为格式.env。这允许其他程序稍后轻松解析配置。

我假设每次系统启动时都必须读取和解析 EEPROM 变量,并且.env每次系统关闭时都需要删除该文件。

我的问题是把文件放在哪里.env。我考虑过使用该/tmp目录,但它的目的是仅在应用程序运行时文件才存在。接下来,我想到使用/run,但从我所读到的来看,它是用于锁和 PID 的。的所有变体也是如此/var/tmp。最后,我正在考虑将其存储起来/etc/my_app,然后tmpfiles.d在每次系统启动时使用例程来清理它。

该文件既可用于 systemd 例程,也可用于用户应用程序。

答案1

/run或以前/var/run将是最合适的位置。

Systemd 本身遵循在 中生成临时配置的模型/run,特别是在 /run/systemd 下(这将覆盖 /lib/systemd 中的临时配置)。例如,在每次系统启动时,整个文件/etc/fstab都会转换为 .mount 单元/run/systemd/generator

(实际上是 systemd 开发将其重新定位到/run来自 /var/run,它是专门为各种“运行时数据”提供一个地方 -不是只是“PID 和锁”;无论如何,systemd 甚至不使用 PID 文件。)

相关内容