Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Can you put systemd units under a custom path?

+1
−0

The systemd manual gives a list of path where systemd looks for unit files.

However, I want to isolate my units in a path of my own choosing. Is it possible to configure systemd to add some path to that list of search locations?

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

1 answer

+1
−0

There are a few ways to do this. From the documentation you linked:

When the variable $SYSTEMD_UNIT_PATH is set, the contents of this variable overrides the unit load path.

Option 1: Edit that environment variable to something like /home/me/custom-units:. The trailing colon indicates the usual load paths should also be used, with a lower priority.

Moreover, additional units might be loaded into systemd from directories not on the unit load path by creating a symlink pointing to a unit file in the directories. You can use systemctl link for this...

Option 2: Use this command. An example invocation is systemctl link /home/me/custom-units/my-custom-unit.service. This would link a single unit file into systemd so it can be started with systemctl start my-custom-unit. If there are other units in the same directory, those will need to be linked as well. Links persist until systemctl disable is run on them.

Unit files are loaded from a set of paths determined during compilation

Option 3: Compile your own systemd and change the paths in systemd.pc.in. Not for the faint of heart.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »