是否有像 $HOME 这样的 Linux 全局变量用于 systemd 单元文件目录?

是否有像 $HOME 这样的 Linux 全局变量用于 systemd 单元文件目录?

我正在构建基于 bash 脚本的安装程序,其中需要设置一个 systemd 单元。我可以对典型的 systemd 单元文件位置进行硬编码,例如/etc/systemd/system或 ,/usr/lib/systemd/system但我希望脚本能够检测系统的首选位置以添加新的单元文件和服务。

我当然可以通过使用和查找现有的服务单元文件来做到这一点,但是如果已经有一个我可以调用的find现有全局变量(例如),我想避免增加太多的复杂性$HOME

答案1

据我所知,所有系统都是一样的。联机帮助页提供了许多见解 - https://www.freedesktop.org/software/systemd/man/systemd.unit.html

System Unit Search Path

/etc/systemd/system.control/*
/run/systemd/system.control/*
/run/systemd/transient/*
/run/systemd/generator.early/*
/etc/systemd/system/*
/etc/systemd/system.attached/*
/run/systemd/system/*
/run/systemd/system.attached/*
/run/systemd/generator/*
/usr/lib/systemd/system/*
/run/systemd/generator.late/*

如果您正在构建服务单元文件,那么您可能应该将文件安装在 中/etc/systemd/system,其中的描述为“管理员创建的系统单元”。

代码中有几个地方使得这些路径中的大多数看起来不太可能被更改,并且/etc/systemd/system看起来是硬编码的

相关内容