summaryrefslogtreecommitdiff
path: root/doc/index.html
blob: fe803e30887064be20183a014826e4a69e8d9b05 (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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Content-Language" content="en" />
    <title>s6-rc - a service manager for s6</title>
    <meta name="Description" content="s6-rc - a service manager for s6" />
    <meta name="Keywords" content="s6 rc unix s6-rc init service management rc.d scripts administration root laurent bercot ska skarnet" />
    <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
  </head>
<body>

<p>
<a href="//skarnet.org/software/">Software</a><br />
<a href="//skarnet.org/">skarnet.org</a>
</p>

<h1> s6-rc </h1>

<h2> What is it&nbsp;? </h2>

<p>
 s6-rc is a service manager for
<a href="//skarnet.org/software/s6/">s6</a>-based
systems, i.e. a suite of programs that can start and stop
services, both long-running daemons and one-time
initialization scripts, in the proper order according to a
dependency tree. It ensures that long-running daemons are
supervised by the s6 infrastructure, and that one-time
scripts are also run in a controlled environment.
</p>

<hr />

<ul>
 <li> <a href="why.html">Why</a> such a program&nbsp;? </li>
 <li> A <a href="overview.html">high-level overview</a> of s6-rc </li>
 <li> <a href="faq.html">FAQ</a> for s6-rc </li>
</ul>

<hr />

<h2> Installation </h2>

<h3> Requirements </h3>

<ul>
 <li> A POSIX-compliant system with a standard C development environment </li>
 <li> GNU make, version 3.81 or later </li>
 <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version
2.14.2.0 or later. It's a build-time requirement. It's also a run-time
requirement if you link against the shared version of the skalibs library. </li>
 <li> <a href="//skarnet.org/software/execline/">execline</a> version
2.9.6.0 or later. It's a build-time <em>and</em> run-time requirement. </li>
 <li> <a href="//skarnet.org/software/s6/">s6</a> version
2.13.0.0 or later. It's a build-time <em>and</em> run-time requirement. </li>
</ul>

<h3> Licensing </h3>

<p>
 s6-rc is free software. It is available under the
<a href="https://opensource.org/licenses/ISC">ISC license</a>.
</p>

<h3> Download </h3>

<ul>
 <li> The current released version of s6-rc is
<a href="s6-rc-0.5.4.4.tar.gz">0.5.4.4</a>. </li>
 <li> Alternatively, you can checkout a copy of the
<a href="//git.skarnet.org/cgi-bin/cgit.cgi/s6-rc/">s6-rc
git repository</a>:
<pre> git clone git://git.skarnet.org/s6-rc </pre> </li>
 <li> There's also a
<a href="https://github.com/skarnet/s6-rc">GitHub mirror</a>
of the s6-rc git repository. </li>
</ul>

<h3> Compilation </h3>

<ul>
 <li> See the enclosed INSTALL file for installation details. </li>
</ul>

<h3> Upgrade notes </h3>

<ul>
 <li> <a href="upgrade.html">This page</a> lists the differences to be aware of between
the previous versions of s6-rc and the current one. </li>
</ul>

<hr />

<h2> Reference </h2>

<h3> Commands </h3>

<h4> Offline tools: creating and managing a compiled service database </h4>

<ul>
 <li> <a href="s6-rc-compile.html">The <tt>s6-rc-compile</tt> program</a> </li>
 <li> <a href="s6-rc-db.html">The <tt>s6-rc-db</tt> program</a> </li>
 <li> <a href="s6-rc-bundle.html">The <tt>s6-rc-bundle</tt> program</a> </li>
</ul>

<h4> Online tools: managing your live services </h4>

<ul>
 <li> <a href="s6-rc-init.html">The <tt>s6-rc-init</tt> program</a> </li>
 <li> <a href="s6-rc.html">The <tt>s6-rc</tt> program</a> </li>
 <li> <a href="s6-rc-update.html">The <tt>s6-rc-update</tt> program</a> </li>
</ul>

<h4> Upgrading from earlier s6-rc database formats </h4>

<ul>
 <li> <a href="s6-rc-format-upgrade.html">The <tt>s6-rc-format-upgrade</tt> program</a> </li>
</ul>

<h4> Programs used internally </h4>

<ul>
 <li> <a href="s6-rc-dryrun.html">The <tt>s6-rc-dryrun</tt> internal program</a> </li>
 <li> <a href="s6-rc-oneshot-run.html">The <tt>s6-rc-oneshot-run</tt> internal program</a> </li>
 <li> <a href="s6-rc-fdholder-filler.html">The <tt>s6-rc-fdholder-filler</tt> internal program</a> </li>
</ul>

<h2> Related resources </h2>

<p>
 I am working on version 1.0.0.0 of s6-rc: more complete and more
user-friendly. It is a huge project, so I have a
<a href="https://skarnet.com/projects/service-manager.html">call for funds</a>
for it, in order to work on it full-time. (I have found a sponsor and am
actually working on it!)
</p>

<h3> Discussion </h3>

<ul>
 <li> <tt>s6-rc</tt> is discussed on the
<a href="//skarnet.org/lists/#skaware">skaware</a> mailing-list. </li>
</ul>

<h3> Similar work </h3>

<ul>
 <li> <a href="https://jjacky.com/anopa/">anopa</a> is another service manager
for s6, with a similar design (but no compilation phase). </li>
 <li> <a href="https://jdebp.uk/Softwares/nosh/">nosh</a>
is a complete init system and service manager for Unix. </li>
</ul>

</body>
</html>