2

I created an init script in LSB format, and copied it to the /etc/init.d directory. I can manually start, stop, status the service and all works fine. I then try to set the service to auto stop/start with runlevels by doing:

update-rc.d service defaults

and I see warnings like:

update-rc.d: warning: xxx start runlevel arguments (none) do not match lsb default-Start values (3 4 5).

and initctl list" does not show my service. Is there a step I need to do to make this service register or appear properly? (I know on RedHat it's "chkconfig --add xxx) but I don't know Ubuntu well enough.

3
  • 1
    update-rc.d service defaults, with an s at the end.
    – chaos
    Feb 7, 2014 at 21:38
  • I fixed that typo. Confirmed that result is the same, "initclt list" still does not show my service (but I do see the S symlink in the /etc/rc3.d/ directory for my service). Am I perhaps misunderstanding which initctl list should show?
    – TSG
    Feb 7, 2014 at 21:48
  • See my answer^^
    – chaos
    Feb 7, 2014 at 21:53

1 Answer 1

1

initctl is part of Uubuntu's upstart mechanism. initctl list only shows you the status of upstart-jobs. Your script is indeed is a SysV init script.

To list the status of SysV init script use this command:

service --status-all

Your service should be listed there.


To create links in the /etc/rcN folders use the following command:

update-rc.d your_init_script defaults

From the manpage of update-rc.d:

If defaults is used then update-rc.d will make links to start the service in runlevels 2345 and to stop the service in runlevels 016.

4
  • OK I'm getting it now. So why this error then: update-rc.d: warning: xxx start runlevel arguments (none) do not match lsb default-Start values (3 4 5). Where is it getting "(none)" from? My scripts has default start values of 3 4 5.
    – TSG
    Feb 7, 2014 at 22:18
  • Because the lsb-headers of your script say 3 4 5 but defaults means add the scripts to 2 3 4 5.
    – chaos
    Feb 7, 2014 at 22:29
  • Then how can I add init script? (If I remove the word defaults I get errors)
    – TSG
    Feb 8, 2014 at 1:54
  • 1
    Use this command: update-rc.d your_service start 20 3 4 5 . stop 20 0 1 6 .. This means, start the service in runlevels 2, 3 & 4 and stop the service in runlevels 0, 1 & 6. 20 is the order (see the /etc/rc*/ dirs).
    – chaos
    Feb 8, 2014 at 14:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .