> Kent Borg wrote on 2026-01-18 06:59:
>
>> I admit I don't know much about systemd, but every time I brush into it
>> it looks complicated and like it is a do-everything mess, built by
>> accretion not design.
>
> It's not a mess, and it's well designed, not built by accretion.

Oh, I beg to differ. Lennart Poettering is an idiot. The systemd idea is a
windows-esque steaming pile of crap. Its bloated. It wraps up too much
into one process. It is a single point of failure. It breaks the unix
philosophy (Did I say Poettering was an idiot?) It broke decades of
compatibility.

The service files are yet another bunch of meta-script nonsense. There is
no reason to have YET ANOTHER file.

>
> For a mess, look in the files in /etc/init.d - those scripts are a mess¹.

OK, you want to see a mess? Take a look at /etc/systemd directory. A
pseudo hierarchical process management tree constructed with symlinks to
scripts all over the place.

The /etc/init.d and /etc/rc[0-9].d directories were clear and unambiguous
in their purpose and the way they worked.

I can't stand systemd it adds unnecessary complication without proper
justification.

>
>
>> I admit, I'm ignorant, but I *do* know that there
>> is something wrong with their design that they have to patch sshd.
>> Patching sshd is simply WRONG, so I wonder about alternatives.
> Others have pointed out that patching sshd is common, what systemd is
> probably doing is adding a call to ¿ sd_notify() ? when the service is
> up and ready.
>
> So services depending on it can be started. Pretty reasonable for a
> services management system.
>
>
> ¹ Let's look at postfix, for example:
>
>> systemctl cat postfix.service:
>>
>> systemctl  cat postfix.service
>> # /lib/systemd/system/postfix.service
>> [Unit]
>> Description=Postfix Mail Transport Agent
>> Documentation=man:postfix(1)
>> Conflicts=sendmail.service exim4.service
>> ConditionPathExists=/etc/postfix/main.cf
>>
>> [Service]
>> Type=oneshot
>> RemainAfterExit=yes
>> ExecStart=/bin/true
>> ExecReload=/bin/true
>>
>> [Install]
>> WantedBy=multi-user.target
>
>
> We have a description and a pointer to the documentation.
>
> We see that it shouldn't run if exim4 or sendmail are handling email
> already. Nicely expressed.
>
> We see that it won't start without /etc/postfix/main.cf. Again, nicely
> expressed.
>
> The ExecStart=/bin/true indicates this is supports multiple postfix
> instances.
>
>
>
>
>
> An individual postfix service instance:
>
>> systemctl  cat [email protected]
>>
>> # /lib/systemd/system/[email protected]
>> [Unit]
>> Description=Postfix Mail Transport Agent (instance %i)
>> Documentation=man:postfix(1)
>> PartOf=postfix.service
>> Before=postfix.service
>> ReloadPropagatedFrom=postfix.service
>> After=network-online.target nss-lookup.target
>> Wants=network-online.target
>>
>> [Service]
>> Type=forking
>> GuessMainPID=no
>> ExecStartPre=/usr/lib/postfix/configure-instance.sh %i
>> ExecStart=/usr/sbin/postmulti -i %i -p start
>> ExecStop=/usr/sbin/postmulti -i %i -p stop
>> ExecReload=/usr/sbin/postmulti -i %i -p reload
>>
>> [Install]
>> WantedBy=multi-user.target
>
>
>
> Now, /etc/init.d/postfix - I'm not even gonna post that here, anyone who
> wants to look at the 129 lines (on my server) of script can do so, but
> even as someone who knows bash, it's much harder to read what's going on.
>
>
> I just noticed this in /etc/init.d/postfix, what the heck is it doing?!?
>
>  > TZ=
>  > unset TZ
>
> Sets a variable ... to blank. Then unsets it?
>
> Unsetting a non-existent variable does not generate any error, what is
> this doing?
>
> _______________________________________________
> Discuss mailing list
> [email protected]
> https://lists.blu.org/mailman/listinfo/discuss
>


_______________________________________________
Discuss mailing list
[email protected]
https://lists.blu.org/mailman/listinfo/discuss

Reply via email to