<div dir="ltr">Hi John,<div><br></div><div>I can reproduced your problem on systemd v236 to v238, but not v235. I think it's because from v236 to v238 contains the commit in <a href="https://github.com/systemd/systemd/pull/7158" target="_blank" style="font-size:13px">https://github.com/systemd/systemd/pull/7158</a>. However, it seems that the commit "d04a93864d" in the git repo fixes the issue. Therefore, you can expect that the next systemd version (v239) won't have the issue then.</div><div><br></div><div>John Lin</div><br><div class="gmail_quote"><div dir="ltr">林自均 <<a href="mailto:johnlinp@gmail.com" target="_blank">johnlinp@gmail.com</a>> 於 2018年5月23日 週三 下午10:32寫道:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi John,<div><br></div><div>I'm not sure whether this issue is because of <a href="https://github.com/systemd/systemd/pull/7158" target="_blank">https://github.com/systemd/systemd/pull/7158</a> or not. I will figure it out. Thanks.</div><div><br></div><div>John Lin</div></div><br><div class="gmail_quote"><div dir="ltr">John Gallagher <<a href="mailto:john.gallagher@delphix.com" target="_blank">john.gallagher@delphix.com</a>> 於 2018年5月24日 週四 上午8:07寫道:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If I have a unit file for a service that lives off the unit file<br>
search path, I can link it, and then enable it using the service name<br>
instead of the full path of the unit file:<br>
<br>
$ cat foo.service<br>
[Service]<br>
Type=simple<br>
ExecStart=/bin/sleep 100000000<br>
<br>
[Install]<br>
WantedBy=multi-user.target<br>
$ sudo systemctl link ~/foo.service<br>
Created symlink /etc/systemd/system/foo.service →<br>
/export/home/delphix/foo.service.<br>
$ sudo systemctl enable foo<br>
Created symlink<br>
/etc/systemd/system/multi-user.target.wants/foo.service →<br>
/export/home/delphix/foo.service.<br>
<br>
If I add a drop-in file for the service though, enabling the service<br>
using the service name does not behave the same way:<br>
<br>
$ cat /etc/systemd/system/foo.service.d/env.conf<br>
[Service]<br>
Environment=FOO=bar<br>
$ sudo systemctl enable foo<br>
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias<br>
settings in the [Install] section, and DefaultInstance for template units).<br>
This means they are not meant to be enabled using systemctl.<br>
Possible reasons for having this kind of units are:<br>
1) A unit may be statically enabled by being symlinked from another unit's<br>
   .wants/ or .requires/ directory.<br>
2) A unit's purpose may be to act as a helper for some other unit which has<br>
   a requirement dependency on it.<br>
3) A unit may be started when needed via activation (socket, path, timer,<br>
   D-Bus, udev, scripted systemctl call, ...).<br>
4) In case of template units, the unit is meant to be enabled with some<br>
   instance name specified.<br>
<br>
I get the warning above, and the expected link in<br>
/etc/systemd/system/multi-user.target.wants/ is not created. I can<br>
work around this behavior by doing the enable using the path of the<br>
unit file:<br>
<br>
$ sudo systemctl enable ~/foo.service<br>
Created symlink<br>
/etc/systemd/system/multi-user.target.wants/foo.service →<br>
/export/home/delphix/foo.service.<br>
<br>
The [Install] section of the unit file being ignored or respected<br>
based on the presence or absence of a drop-in file seems inconsistent<br>
to me, but I am fairly new to systemd, so I may be missing something.<br>
Is this behavior expected?<br>
<br>
Thanks,<br>
John<br>
_______________________________________________<br>
systemd-devel mailing list<br>
<a href="mailto:systemd-devel@lists.freedesktop.org" target="_blank">systemd-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/systemd-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/systemd-devel</a><br>
</blockquote></div></blockquote></div></div>