[systemd-devel] Why does sysv generator translate Required-Start keyword into an After= ordering dep only ?

Andrei Borzenkov arvidjaar at gmail.com
Fri Feb 26 04:05:41 UTC 2016


26.02.2016 00:55, Francis Moreau пишет:
> On Wed, Feb 24, 2016 at 6:12 PM, Lennart Poettering
> <lennart at poettering.net> wrote:
>> On Wed, 24.02.16 17:40, Francis Moreau (francis.moro at gmail.com) wrote:
>>
>>> Hello,
>>>
>>> It seems that the unit generator for sysv init scripts translate
>>> "Required-Start: X" into "After=X" native ordering deps only.
>>>
>>> I would also have expected it to add the following dependency "Requires=X" too.
>>>
>>> What am I missing ?
>>
>> Well, on SysV the requirement in the "Required-Start:" concept is
>> actually a request to the tool that enables/disables a service
>> (i.e. the chkconfig or update-rcd tool, depending on the distro). It
>> means that it shall enable another service "b" if "a" is to be
>> enabled.
> 
> "mbiebl" on #debian-systemd gave me the same explanation (thanks to him).
> 
> However beside enabling service "b", the tool will also enable it so
> that "b" will be started by sysvinit before service "a"
> 

That is ensured in case if systemd by After=b in a.
...

> 
> But now I'm wondering how the following case is handled: a sysinit
> script "a" has "Required-Start: b". But "b" is a native systemd
> service. I don't think the tool that enable/disable sysv services can
> enable and order correctly the native service.
> 

What difference does it make? a will still have After=b, and sysvinit
never had any run-time check whether b is actually started or not
anyway. So we are just as good with systemd here - if b is configured to
be started, it will be started before a.


More information about the systemd-devel mailing list