我在哪里放置我的 systemd 服务?

Job*_*r69 9 directory systemd

到目前为止,我已经阅读了几个来源。以下是我遇到的三个选项:

/etc/systemd/system

/usr/lib/systemd/system

/lib/systemd/system
Run Code Online (Sandbox Code Playgroud)

我最初将我的服务放在 /lib/systemd/system 中,并且该目录中似乎还有许多其他服务。但是,它应该在 /etc/systemd/system 中??这个来源从来没有谈到第三个选项:我把我的 systemd 单元文件放在 Arch Linux 的什么地方?

此外,本教程似乎将其放在该目录中。http://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/

请帮我澄清一下。启用我的单元会导致一条错误消息:“无法启用单元:无效参数”我假设是因为目录错误。(我正在使用 Arch Linux)

Kla*_*ker 10

我使用 Systemd 服务来启动“信息亭”式的 Pi(运行 CentOS)系统。Systemd 从几个配置目录中提取,但通常您应该将 Systemd 服务放在/etc/systemd/system/

当然,对于必须包含在服务文件中的内容有一些要求,但只要它在该目录中,就sudo systemctl enable foo.service可以启用该服务。如果您将服务放在该目录中但仍然遇到错误,请检查您的服务文件。它至少应包含:

[Unit]
Description=Sample Script Startup

[Service]
Type=idle
ExecStart=/valid/path/to/an/executable/file

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

TypeWantedBy属性可能会有所不同,这取决于你想要达到的目的,所以阅读文档