<p>Am Dienstag, dem 12.11.2024 um 02:13 -0800 schrieb Tony Rodriguez:</p>
<blockquote type="cite">
<pre><code>Hoping I can accomplish the following via a simple UNIT modification or
service script?
Questions:
A) How can my service always runs "last" within local-fs-pre.target?
For Example:
Need my service to always run last within the local-fs-pre.target, even
if others add another services later within local-fs-pre.target. Still
want my service to always run last within this local-fs-pre.target.
Note: I will not know services others may later add within the
local-fs-pre.target
B) How can I make my service run after all .mount(s) within
local-fs-pre.target, before local-fs.target, especially if I don't know
all the .mount(s)? The .mount files are located within
/var/run/systemd/generator/*
ls -l /var/run/systemd/generator/*.mount
-rw-r--r-- 1 root root 390 Nov 12 00:59
/var/run/systemd/generator/boot-efi.mount
-rw-r--r-- 1 root root 449 Nov 12 00:59
/var/run/systemd/generator/boot.mount
-rw-r--r-- 1 root root 428 Nov 12 00:59
/var/run/systemd/generator/home.mount
-rw-r--r-- 1 root root 239 Nov 12 00:59 /var/run/systemd/generator/-.mount
-rw-r--r-- 1 root root 424 Nov 12 00:59 /var/run/systemd/generator/tmp.mount
-rw-r--r-- 1 root root 241 Nov 12 00:59 /var/run/systemd/generator/usr.mount
-rw-r--r-- 1 root root 424 Nov 12 00:59 /var/run/systemd/generator/var.mount
-rw-r--r-- 1 root root 424 Nov 12 00:59
/var/run/systemd/generator/test.mount
Appears the UNIT section doesn't support a wildcard for .mount(s)
This doesn't work
#After=local-fs-pre.target *.mount
The following works, but have to hard code mounts. Would like to
dynamically populate mounts for "After=" within my service file.
After=local-fs-pre.target boot.mount boot-efi.mount -.mount usr.mount
var.mount tmp.mount home.mount
Before=local-fs.target
[Unit]
Description=mytest.service
DefaultDependencies=no
Wants=local-fs-pre.target
After=local-fs-pre.target boot.mount boot-efi.mount -.mount usr.mount
var.mount tmp.mount home.mount test.mount
Before=local-fs.target
</code></pre>
</blockquote>
<p>Hi Tony,</p>
<p>there is no "last", because every dependency can exists multiple times, but you can't have multiple "last". Doesn't make sense.</p>
<p>My suggestion would either be <a href="man:systemd.automount">man:systemd.automount</a> (via <a href="man:fstab">man:fstab</a>) or <a href="man:systemd.unit">RequiresMountsFor=</a>.</p>
<p>For further help we would need to know what you actually want to achieve with your unit.</p>
<p>BR<br />
Silvio</p>