File: insserv.8.in

package info (click to toggle)
insserv 1.14.0-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 1,220 kB
  • ctags: 1,693
  • sloc: ansic: 4,034; sh: 1,194; perl: 563; makefile: 185
file content (489 lines) | stat: -rw-r--r-- 13,189 bytes parent folder | download | duplicates (2)
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
.\"
.\" Copyright 2000-2009 Werner Fink
.\" Copyright 2000-2003 SuSE GmbH Nuernberg, Germany
.\" Copyright 2007-2009 SuSE Linux Products GmbH Nuernberg, Germany
.\" Copyright 2009 Petter Reinholdtsen
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
.\"
@@BEGIN_SUSE@@
.TH INSSERV 8 "Jul 29, 2008" "Version 1.11" "The SuSE boot concept"
.UC 8
@@ELSE_SUSE@@
.TH INSSERV 8 "Jul 29, 2008" "Version 1.11"
.UC 8
@@END_SUSE@@
.SH NAME
insserv \- boot sequence organizer using LSB init.d script dependency information
.SH SYNOPSIS
.\"
.B insserv
.RB [ \-v ]
.RB [ \-c\ <config> ]
.RB [ \-p\ <path> ]
.RB [ \-d ]
.RB [ \-f ]
.RI [[ / ] path/to/init.d/ ] script \ ...
.PP
.B insserv
.RB [ \-v ]
.RB [ \-c\ <config> ]
.RB [ \-p\ <path> ]
.RI [[ / ] path/to/init.d/ ] script [ ,start=<lvl1,lvl2,...>,stop=<lvl1,lvl2,...> ]
.PP
.B insserv
.RB [ \-v ]
.RB [ \-c\ <config> ]
.RB [ \-p\ <path> ]
.B \-r
.RB [ \-d ]
.RB [ \-f ]
.RI [[ / ] path/to/init.d/ ] script \ ...
.PP
.B insserv
.B \-h
.PP
@@BEGIN_SUSE@@
.RB /usr/lib/lsb/install_initd
.RI [[ / ] path/to/init.d/script ]
.PP
.RB /usr/lib/lsb/remove_initd
.RI [[ / ] path/to/init.d/script ]
@@END_SUSE@@
.SH DESCRIPTION
.B insserv
is a low level tool used by
.B update\-rc.d
which enables an installed system
init script (`boot script') by reading the comment header of the script, e.g.:
.sp 1
.in +1l
.nf
 ### BEGIN INIT INFO
 # Provides:          boot_facility_1 [ boot_facility_2 ...]
 # Required-Start:    boot_facility_1 [ boot_facility_2 ...]
 # Required-Stop:     boot_facility_1 [ boot_facility_2 ...]
 # Should-Start:      boot_facility_1 [ boot_facility_2 ...]
 # Should-Stop:       boot_facility_1 [ boot_facility_2 ...]
 # X-Start-Before:    boot_facility_1 [ boot_facility_2 ...]
 # X-Stop-After:      boot_facility_1 [ boot_facility_2 ...]
 # Default-Start:     run_level_1 [ run_level_2 ...]
 # Default-Stop:      run_level_1 [ run_level_2 ...]
 # X-Interactive:     true
 # Short-Description: single_line_description
 # Description:       multiline_description
 ### END INIT INFO
.fi
.in -1l
.sp 1
and calculating the dependencies between all scripts. It is not recommended to
execute insserv directly unless you know exactly what you're doing, doing so
may render your boot system inoperable.
.B update\-rc.d
is the recommended interface for managing init scripts.
@@BEGIN_SUSE@@
Please note, that the
.B Default\-Stop
are ignored in SuSE Linux, because the SuSE boot script concept
uses a differential link scheme (see
.IR init.d (7)).
@@ELSE_SUSE@@
Please be aware that the line
.sp 1
.in +1l
.nf
 # Required-Stop:  boot_facility_1 [ boot_facility_2 ...]
.fi
.in -1l
.sp 1
declares facilities which must be available during shutdown of the service
declared in the
.B Provides
tag.  Same holds true for
.sp 1
.in +1l
.nf
 # Should-Stop:    boot_facility_1 [ boot_facility_2 ...]
.fi
.in -1l
.sp 1
which declares facilities which should be available during shutdown of
the service declared in the 
.B Provides
tag. In both cases the script system should avoid stopping services
which are declared by these two Stop tags until the script including
these tags is stopped.
@@END_SUSE@@
.PP
The optional X\-Interactive keyword implies that the script using this
keyword should be started alone in a concurrent boot configuration
because it interact with the user at the console.  Only the value
`true' is recognised.  All other are ignored.
.PP
The optional
.B X\-Start\-Before
keyword implies that the script using this keyword
should be started
.B before
the specified service names.
Whereas the optional
.B X\-Stop\-After
keyword implies that the script using this keyword
should be stopped
.B after
the specified service names. Both implies that those
services now depend on the specifying script. 
With known dependencies and runlevel(s)
.B insserv
sets and reorders the corresponding symbolic links
of the concerned runlevels
@@BEGIN_SUSE@@
directories (see \fI init.d\fR (7)).
@@ELSE_SUSE@@
directories.
@@END_SUSE@@
@@BEGIN_SUSE@@
Known runlevels are:
.sp 1
.in +1l
.nf
 \fB0\fR\   used for System halt
 \fB1\fR\   used for single user mode
 \fB2\fR\   used for local multiuser without remote network
 \fB3\fR\   used for full multiuser with network
 \fB4\fR\   reserved for local use
 \fB5\fR\   used for full multiuser with network and xdm
 \fB6\fR\   used for System reboot
 \fBS\fR\   used during boot into single user mode
 \fBB\fR\   used during boot before any other runlevel
.fi
.in -1l
.sp 1
@@END_SUSE@@
.PP
.B insserv
scans for
.B System Facilities
in the configuration file
.I /etc/insserv.conf
and each file in the directory
.IR /etc/insserv.conf.d/ .
Each line which begins with
.B $
and a following name defines a system facility
accordingly to the Linux Standard Base Specification (LSB),
All names followed by such a system facility
will declare the required dependencies of the facility.
Here is an example for
.IR /etc/insserv.conf :
.sp 1
.in +1l
.nf
 # All local filesystems are mounted
 # (done during boot phase)
 $local_fs       boot

 # Low level networking
 $network        network route

 # Named is operational
 $named          named

 # All remote filesystems are mounted
 # (in some cases /usr may be remote).
 $remote_fs      $local_fs nfs

 # System logger is operational
 $syslog         syslog

 # All network daemons are running (This was removed in LSB 1.2)
 $netdaemons     portmap inetd

 # Services which need to be interactive
 <interactive>   boot.crypto
.fi
.in -1l
.sp 1
Names starting with a `+' sign are marked as optional.
If the service with the name after the plus sign is
available it will be used, if not available it is
ignored silently.  Words beginning with
.B <
and ending with
.B >
are keywords.  Currently
.B <interactive>
is the only know keyword for marking a service
as an interactive one, e.g. a service which requires
a passphrase or password input during boot
or runlevel change.  The special facility
.B $null
is used to enforce an empty dependency in case of
.B Should-Stop
and
@@BEGIN_SUSE@@
.B Required-Stop
otherwise insserv assumes the same dependencies as for the
.B Start
case.
@@ELSE_SUSE@@
.BR Required-Stop .
@@END_SUSE@@
.P
In addition to the defined
.B System Facilities
in the configuration file
.IR /etc/insserv.conf ,
.B insserv
also knows the special facility
.BR $all .
This facility indicates that a service should be inserted
at the end of all services at starting and at the very beginning
at stopping.  Clearly all services using this facility will be
grouped into one starting or stopping order.
.\"
.SH OPTIONS
Currently there exists nine options for
.BR insserv .
.TP
.BR \-v ,\  \-\-verbose
Write out what is currently going on.
.TP
.BR \-c\ <config> ,\  \-\-config\ <config>
Specify path to the insserv.conf file and the insserv.conf.d
directory.  Useful for testing.
.TP
.BR \-o\ <path> ,\  \-\-override\ <path>
LSB comment headers found in this path will override existing
LSB comment headers of scripts in the init.d directory (default path is
.IR /etc/insserv/overrides/ ).
.TP
.BR \-p\ <path> ,\  \-\-path\ <path>
Specify path to init.d directory.  Useful for testing.
.TP
.BR \-n ,\  \-\-dryrun
Do not update symlinks.
.TP
.BR \-r ,\  \-\-remove
Remove the listed scripts from all runlevels.
.TP
.BR \-d ,\  \-\-default
Use default runlevels as defined in the scripts.
This may restore an edited runlevel link scheme.
.TP
.BR \-f ,\  \-\-force
Ignore if a required service is missed. Beside this if start and or
stop levels are specified on the command line the default levels of
the script will be ignored.
.TP
.BR \-u\ <path> ,\  \-\-upstart-job\ <path>
Path to replace existing upstart job path.  (default path is
.IR /lib/init/upstart-job ).
.TP
.BR \-s ,\  \-\-showall
Output runlevel and sequence information. Do not update symlinks.
.TP
.BR \-h ,\  \-\-help
Print out short usage message.
.PP
But you may use the argument syntax described in the
following section.
.SH ARGUMENTS
.TP
.RI [[ / ] path/to/init.d/ ]
Relative or absolute path to the init scripts base directory.
@@BEGIN_SUSE@@
For the SuSE Linux boot concept, this defaults to
@@ELSE_SUSE@@
This defaults to
@@END_SUSE@@
.I /etc/init.d/
in compliance with the LSB specification.
In this case
.B insserv
does not add or remove a script to the runlevels
declared in the script headers, but may re\-order the
runlevels if the order of the currently enabled scripts
has changed (see option
.BR \-d ).
Note that if a relative path is used
.B insserv
has to be called from the root directory.
.TP
.RI [[ / ] path/to/init.d/ ] script\ ...
List of scripts which have to be added to
the runlevels. If a path is used it
should point to the absolute or relative
location of the boot scripts.
.B insserv
checks for the existence of these scripts.
For the runlevels the information found in
the script is used.
.TP
.RI [[ / ] path/to/init.d/ ] script [ ,start=<lvl1,lvl2,...> ]
List of scripts which have to be added to
the specified runlevels to be started with.
You may use this extension to override the default values
for start and stop runlevels of the script.
Note that
.BR lvl1 ,\  lvl2 ,\ ...
are the known runlevels explained above.
The extension
.IR ,stop=<lvl1,lvl2,...>
is also possible.
.TP
.RI \fB\-r\fR\ [[ / ] path/to/init.d/ ] script\ ...
List of scripts which should be removed from
the runlevels. If a path is used it
should point to the absolute or relative
location of the boot scripts.
.B insserv
checks for the existence of these scripts.
.\"
.SH OVERRIDES
Beside using the extensions
.IR ,start=<lvl1,lvl2,...>
and
.IR ,stop=<lvl1,lvl2,...>
it is possible to use override files replace a LSB comment header
or simple provide a missing LSB comment header.  This can be done
by placing a file with the new LSB comment header using the same
name as the boot or init script in the directory
.IR /etc/insserv/overrides/ .
For third party boot scripts without LSB header it is possible to
add a file with the same name in the directory
.I /usr/share/insserv/overrides/
to make them completely LSB compliant.
.\"
.SH UPSTART JOB COMPATIBILITY
To allow upstart jobs to work as init.d scripts, insserv will
recognize a symlink from path/to/init.d/script to
/lib/init/upstart-job as upstart jobs, and instead of reading the
header from the file will run the script with the argument lsb-header
to get the script header.
.SH EXIT CODES
The exit codes have the following conditions:
.RS 7
.IP 0 5
Service was successfully installed or removed
.IP 1 5
Service was not installed or removed
.RE
.RS 5
.SH NOTE
Please be aware that the following patterns of
boot script file names will be not accepted by
.BR insserv:
.sp 1
.in +1l
.nf
@@BEGIN_SUSE@@
        *.local
@@END_SUSE@@
        *.dpkg*
        *.rpm*
        *.ba*
        *.old
        *.new
        *.org
        *.orig
        *.save
        *.swp
        *.core
        *~
.fi
.in -1l
.sp 1
with the wildcard character
.BR * .
Beside this all boot script file names beginning with one
of the following characters
.sp 1
.in +1l
.nf
        $.#%_+-\\*[]^:()~
.fi
.in -1l
.sp 1
will be ignored.
.SH BUGS
Boot scripts sometimes lack a LSB comment header. Contact a package
maintainer or developer of the software which provides the script to
have a LSB comment header added to it.
.SH FILES
.TP
.I /etc/insserv.conf
configuration file for
.B insserv
which defines the LSB System Facilities.
.TP
.I /etc/insserv.conf.d/
directory for further configuration files for declaring
LSB System Facilities.
.TP
.I /etc/insserv/overrides/
path to replace existing LSB comment headers with the comment
headers found in this path.
.TP
.I /etc/init.d/
path to the
@@BEGIN_SUSE@@
SuSE
@@END_SUSE@@
init script base directory as
required by the Linux Standard Base Specification (LSB).
.PP
.IR /etc/init.d/.depend.boot ,
.br
.IR /etc/init.d/.depend.start ,
.br
.I  /etc/init.d/.depend.stop
.in +7
The
.BR make (1)
like dependency files produced by
.B insserv
for
.IR booting ", " starting ", and " stopping
with the help of
.BR startpar (8).
.in -7
.\"
.SH SEE ALSO
@@BEGIN_SUSE@@
.BR init.d (7),
@@END_SUSE@@
.BR init (8),
@@BEGIN_SUSE@@
.BR startproc (8),
.BR checkproc (8),
.BR killproc (8),
@@END_SUSE@@
.BR startpar (8),
.BR update\-rc.d (8).
.SH COPYRIGHT
2000\-2009 Werner Fink,
.br
2009 SuSE Linux Products GmbH Nuernberg, Germany.
.br
2000\-2003 SuSE GmbH Nuernberg, Germany,
.br
2007\-2009 SuSE Linux Products GmbH Nuernberg, Germany.
.SH AUTHOR
Werner Fink <feedback@suse.de>
.SH CONTRIBUTORS
Petter Reinholdtsen
.br
Kel Modderman