summaryrefslogtreecommitdiff
path: root/system/runit/README
blob: a48d34bcc101b7cbd6153beff3ff8af9fda7addc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
runit (a UNIX init scheme with service supervision)

A cross-platform Unix init scheme with service supervision, a replacement for
sysvinit, and other init schemes.

runit can replace init or its service supervision can be used with traditional
init.  runit is compatible with djb's daemontools.

By default, this slackbuild sets-up a basic configuration to replace init with
runit. To disable this, pass CONFIG=no to the script.

To use runit with init, just call it
  /sbin/runsvdir-start &

To replace init with runit, reboot and enter init=/sbin/runit-init in the Lilo
prompt.

Alternatively, if you do not have a multi boot system, you may append this line
in /etc/lilo.conf

E.g:
  append="vt.default_utf8=0 init=/sbin/runit-init"

Then run lilo:
  # lilo -v

Or just replace /sbin/init with /sbin/runit-init
  # mv /sbin/init /sbin/init.sysv
  # cp /sbin/runit-init /sbin/init
Be warned that if you had booted with the original init, the system may refuse
to reboot, therefore boot from runit-init first.

To migrate a service to runit, switch it off and disable it as usual, place
an initialisation script called run under a suitably named directory under
/etc/sv/ and symlink it to /service.

E.g.:
  # /etc/rc.d/rc.networkmanager stop
  # chmod -x /etc/rc.d/rc.networkmanager
  # mkdir /etc/sv/networkmanager/

Write a script to start the service in /etc/sv/networkmanager/run such as
  #!/bin/sh
  exec NetworkManager -n > /dev/null 2>&1

Give it executable permission:
  # chmod +x  /etc/sv/networkmanager/run

Link it to /service and NetworkManager will start in a few seconds and enabled
under current runlevel
  # ln -s /etc/sv/networkmanager /service

Hint:
To Reboot:
  # runit-init 6
To Halt:
  # runit-init 0

A /usr/sbin/shutdown shell script has been included with the configuration
files if you enabled them.