systemd: Is it wrong?

Lennart Poettering mzerqung at 0pointer.de
Mon Jul 11 17:54:14 UTC 2011


On Mon, 11.07.11 13:29, Steve Dickson (SteveD at redhat.com) wrote:

> >> But in a nut shell:
> >>    * There is no way to conditionally start and stop services/daemons
> >>      using a configuration variable.
> > 
> > True, and on purpose.
>
> What would it take to change this?

We want to simplify things and hence want to explicitly avoid having
additional places where services are enabled/disabled. 

So, it is really against a design principle of ours that we support
additional ways to disable services in systemd itself. So this is
unlikely to ever happen. Sorry.

> >>    * There is no way to conditionally start and stop services
> >>      within as service.
> > 
> > Not true. Services can start other services, by queuing a job for that
> > via a D-Bus call (or via systemctl, a wrapper for that). However, I'd
> > avoid doing this.
>
> hmm.... Not sure nfs-utils wants to get tied into the D-Bus world...

*sigh*

> >>    * The variables read out of the EnvironmentFile are *always* 
> >>      character strings which means set LOCKD_TCPPORT=234 is
> >>      no longer possible. Losing that ability to set variable to 
> >>      integer values seem to like a giant step backwards.   
> > 
> > Hmm? Shell only understands strings, too. What precisely are you asking for?
> in /etc/sysconfig/nfsservices
> set LOCKD_TCPPORT=234
> 
> In nfsservice.service
> 
> EnvironmentFile=-/etc/sysconfig/nfsservices
> ExecStartPre=/sbin/sysctl -w $LOCKD_TCPPORT
> 
> to work.

This will work. And I completely fail to see what this has to do with
integer values? Can you elaborate?

And what do you claim the shell does differently then we do?

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the devel mailing list