<p>Am Mittwoch, dem 13.08.2025 um 09:21 +0300 schrieb Andrei Borzenkov:</p>
<blockquote type="cite">
<p>On Tue, Aug 12, 2025 at 11:59 AM Silvio Knizek <<a href="mailto:killermoehre@gmx.net">killermoehre@gmx.net</a>> wrote:</p>
<blockquote type="cite">
<p>Am Dienstag, dem 12.08.2025 um 11:02 +0300 schrieb Andrei Borzenkov:</p>
<p>I spent some time trying to understand why a service that should have been started was not. It turned out rather simple - the service was WantedBy=default.target, I explicitly used "3" on the kernel command line and this made systemd to ignore /etc/systemd/system/default.target.wants.</p>
<p>Is there any reason to not treat systemd.unit as default in this case? After all, "default target" is the target that systemd starts when running as /sbin/init and passing systemd.unit is entirely equivalent to overriding default.target once at run-time.</p>
<p>Hi Andrei,</p>
<p>3 on the k-c-l means "isolate into multi-user.target", not "make the multi-user.target the default.target" or "isolate into default.target".</p>
<p>So your default.target was never started.</p>
</blockquote>
<p>Sigh. Please explain the reason why starting multi-user.target as
alias to defaut.target should start different services compared to
starting multi-user.target as systemd.target on the kernel command
line.</p>
</blockquote>
<p><code>multi-user.target</code> is <em>not</em> an alias to <code>default.target</code>. <code>default.target</code> may be an alias – a.k.a. symlink – to <code>multi-user.target</code>, <code>graphical.target</code> or any other unit.</p>
<blockquote type="cite">
<p>I know how it is implemented and why it happens. I ask whether this
behavior is intentional and reasonable.</p>
</blockquote>
<p>I, as and admin, expect that when I start <code>multi-user.target</code> (which happens if I specify <code>3</code> on the k-c-l), all the units in <code>multi-user.target.wants/</code> are started.</p>
<p>If I start <code>default.target</code>, I expect <code>default.target.wants/</code> and <code>${symlinked_unit}.wants/</code> to be started.</p>
<p>Of course, if <code>default.target.wants/</code> is pointing to <code>${symlinked_unit}.wants/</code>, than it's the same, but normally those are different directories. And therefor different behavior.</p>
<p>Makes absolute sense for me.</p>
<blockquote type="cite">
<blockquote type="cite">
<p>If you want default behaviour, don't specify anything.</p>
<p>BR
Silvio</p>
</blockquote>
</blockquote>