.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SYSV-RC-CONF 8" .TH SYSV-RC-CONF 8 "2021-10-31" "perl v5.32.1" " " .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" sysv\-rc\-conf \- Run\-level configuration for SysV like init script links .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBsysv-rc-conf\fR [ \fIoptions\fR ] .PP \&\fBsysv-rc-conf\fR \-\-list [ \fIservice\fR ] .PP \&\fBsysv-rc-conf\fR [ \-\-level \fIlevels\fR ] \fIservice\fR <\fIon|off\fR> .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBsysv-rc-conf\fR gives an easy to use interface for managing \&\f(CW\*(C`/etc/rc{runlevel}.d/\*(C'\fR symlinks. The interface comes in two different flavors, one that simply allows turning services on or off and another that allows for more fine tuned management of the symlinks. It's a replacement for programs like \fB\fBntsysv\fB\|(8)\fR or \fB\fBrcconf\fB\|(8)\fR. .PP \&\fBsysv-rc-conf\fR can also be used at the command line when the desired changes to the symlinks are already known. The syntax is borrowed from \fB\fBchkconfig\fB\|(8)\fR, although it does not follow it exactly. .SH "GENERAL OPTIONS" .IX Header "GENERAL OPTIONS" .IP "\fB\-c\fR \s-1DIRECTORY,\s0 \fB\-\-cache=\fR\s-1DIRECTORY\s0" 4 .IX Item "-c DIRECTORY, --cache=DIRECTORY" The directory where the priority numbers, old runlevel configuration, etc. should be stored. This defaults to \f(CW\*(C`/var/lib/sysv\-rc\-conf\*(C'\fR. See the \s-1FILES\s0 section below and the \-\-Purge option. .IP "\fB\-r\fR \s-1DIRECTORY,\s0 \fB\-\-root=\fR\s-1DIRECTORY\s0" 4 .IX Item "-r DIRECTORY, --root=DIRECTORY" The root directory to use. This defaults to \f(CW\*(C`/\*(C'\fR. This comes in handy if the root file system is mounted somewhere else, such as when using a rescue disk. .IP "\fB\-P\fR, \fB\-\-Purge\fR" 4 .IX Item "-P, --Purge" Purge the information stored in the cache file. See the \s-1FILES\s0 section below and the \-\-cache option. .IP "\fB\-v\fR \s-1FILE,\s0 \fB\-\-verbose=\fR\s-1FILE\s0" 4 .IX Item "-v FILE, --verbose=FILE" Print verbose information to \f(CW\*(C`FILE\*(C'\fR .IP "\fB\-V\fR, \fB\-\-Version\fR" 4 .IX Item "-V, --Version" Print version information to \s-1STDOUT\s0 and exit .SH "GUI RELATED OPTIONS" .IX Header "GUI RELATED OPTIONS" .IP "\fB\-o\fR [ see description ], \fB\-\-order=\fR[ see description ]" 4 .IX Item "-o [ see description ], --order=[ see description ]" Allows various sorting orders and ways to display the rows. The argument can be made up of any of the following: .RS 4 .IP "\fBa\fR" 4 .IX Item "a" Sort the rows \fBa\fRlphabetically. This is the default if the \fB\-o\fR option isn't specified. .IP "\fBn\fR" 4 .IX Item "n" Show the priority numbers along with the name of the service. .IP "\fBp\fR" 4 .IX Item "p" Sorts by the \fBp\fRriority numbers. .IP "\fBlevel\fR" 4 .IX Item "level" \&\fIlevel\fR can be any runlevel, 0\-9 or S. This controls which runlevel the priority numbers are sorted at. It only makes sense to use this in conjuntion with \fBp\fR. If omitted the priority numbers are sorted by the current runlevel the system is in. .RE .RS 4 .RE .IP "\fB\-p\fR, \fB\-\-priority\fR" 4 .IX Item "-p, --priority" Alternate layout. Instead of just showing a checkbox, the priority of the service and the S or K are allowed to be edited. This is for more fine tuned control then the default layout allows. .IP "\fB\-s\fR \fIlevels\fR, \fB\-\-show=\fR\fIlevels\fR" 4 .IX Item "-s levels, --show=levels" Which runlevels to show. This defaults to up to 8 of the runlevels available on the system. Usually this means it will show 1, 2, 3, 4, 5, 0, 6, and S. The syntax calls for the runlevels to be allruntogether. For instance, to show runlevels 3, 4, and 5 the syntax would be \f(CW\*(C`\-\-show=345\*(C'\fR. Also see \&\fB\-\-order\fR. .SH "CLI RELATED OPTIONS" .IX Header "CLI RELATED OPTIONS" .IP "\fB\-\-level\fR \fIlevels\fR" 4 .IX Item "--level levels" The runlevels this operation will affect. \fIlevels\fR can be any number from 0\-9 or S. For example, \fB\-\-level 135\fR will affect runlevels 1, 3, and 5. If \fB\-\-level\fR is not set, the default is to affect runlevels 2, 3, 4, and 5. This option is only used for the command line interface, see the section below labled \s-1USING THE CLI\s0 for more information. .IP "\fB\-\-list\fR [\fIname\fR]" 4 .IX Item "--list [name]" This option will list all of the services and if they are stopped or started when entering each runlevel. If \fIname\fR is specified, only the information for that service is displayed. .SH "USING THE GUI" .IX Header "USING THE GUI" .SS "Note" .IX Subsection "Note" When using either \s-1GUI\s0 layout described below, all configuration changes to the symlinks will happen immediately, not when the program exits. .SS "Using the Default layout" .IX Subsection "Using the Default layout" The default (simple) layout shows in a grid fashion all of the services that are in \f(CW\*(C`init.d\*(C'\fR and which runlevels they are turned on at. For example, where the \f(CW\*(C`ssh\*(C'\fR row and \f(CW3\fR column intersect, if there is an 'X' in the box there that means the ssh service will be turned on when entering runlevel 3. If there is no checkbox it can mean that either there are no links to the service in that specific runlevel, or that the service is turned off when entering that runlevel. If more configuration detail is needed, see the next paragraph and the \fB\-\-priority\fR option. .SS "Using the Priority layout" .IX Subsection "Using the Priority layout" The priority (advanced) layout also uses a grid fashion, but instead of checkboxes there are text boxes that can have a few different values. If the text box is blank, that means there isn't a symlink in that runlevel for that service. This means that when changing into that runlevel that the service will not be started or stopped, which is significant. If the text box starts with the letter K that means that the service will be stopped when entering that runlevel. If the text box starts with the letter S that means the service will be started when entering that runlevel. The two digits following is the order in which the services are started. That means that \f(CW\*(C`S08iptables\*(C'\fR would start before \f(CW\*(C`S20ssh\*(C'\fR. For more information see your system documentation. .SS "Controls" .IX Subsection "Controls" To move around use the arrow keys, or if the terminal support it, the mouse. Typically there is more then one page of services (unless the terminal screen is large), to move between the pages use CTRL-n or CTRL-p, or simply arrow key down or up at the bottom or top of the screen, respectively. The bottom of the screen also shows these movement commands for quick reference. To restore the symlinks back to their original state before the \fBsysv-rc-conf\fR was run, press the \fBr\fR key. The \fBh\fR key will display a quick reference help screen. .SS "Default layout" .IX Subsection "Default layout" When using the default layout use the space bar to toggle the service on / off. An 'X' in the checkbox indicates that the service is on. .SS "Priority layout" .IX Subsection "Priority layout" The priority layout uses the default movement keys. In order to edit the fields you can use CTRL-d to delete the character in front of the cursor or backspace to backspace. Use CTRL-b or CTRL-f to move the cursor backwards or forwards within the field. Note that only S, K, or any digit is allowed to be entered into the field. .SS "Starting / Stopping Services" .IX Subsection "Starting / Stopping Services" To start a service now, press the \f(CW\*(C`+\*(C'\fR or \f(CW\*(C`=\*(C'\fR key. To stop a service now, press the \f(CW\*(C`\-\*(C'\fR key. .PP This will call \f(CW\*(C`/etc/init.d/service start\*(C'\fR or \f(CW\*(C`/etc/init.d/service stop\*(C'\fR. .SH "USING THE CLI" .IX Header "USING THE CLI" If the desired modifications to the symlinks are known and only one quick change is needed, then you can use a \s-1CLI\s0 interface to \fBsysv-rc-conf\fR. Examples: .PP .Vb 2 \& # sysv\-rc\-conf \-\-level 35 ssh off \& # sysv\-rc\-conf atd on .Ve .PP The first example will turn ssh off on levels 3 and 5. The second example turns atd on for runlevels 2, 3, 4, and 5. .SH "FILES" .IX Header "FILES" \&\fBNote:\fR Feel free to skip this section .PP \&\fBsysv-rc-conf\fR stores a cache of all the symlink information from \&\f(CW\*(C`/etc/rc{runlevel}.d/\*(C'\fR in \f(CW\*(C`/var/lib/sysv\-rc\-conf/services\*(C'\fR (See the \-\-cache option to change the location of this file). It uses this cache to make an intelligent decision on what priority number to give the K or S link when they are changed in the simple layout. This cache is updated/created everytime the program is launched. The program needs to run with root privileges in order to update the cache. The format of the file is as follows: .PP .Vb 1 \& RUNLEVEL S|K PRIORITY SERVICE .Ve .PP Here's a few examples: .PP .Vb 4 \& 2 K 74 ntpd \& 2 K 50 xinetd \& 3 S 08 iptables \& 3 S 80 sendmail .Ve .PP \&\fBsysv-rc-conf\fR will first see if it can get an exact match from the cache. For example, if the symlink for \f(CW\*(C`cron\*(C'\fR in runlevel 3 is S89cron and you uncheck it, \fBsysv-rc-conf\fR will first see if there is an entry in the cache that looks like \f(CW\*(C`3 K nn cron\*(C'\fR, if so it will use nn for the priority number. .PP If there wasn't a match, \fBsysv-rc-conf\fR will then see if there is another S or K (whichever you're switching to, so in this example, K) entry on a different runlevel \- so an entry like \f(CW\*(C`i K nn cron\*(C'\fR, where i is any runlevel. If found, the link will use nn. .PP If there still wasn't a match, \fBsysv-rc-conf\fR will look for the opposite of S or K in any run level, and use 100 \- that priority. So in our example, \&\f(CW\*(C`i S nn cron\*(C'\fR. If nn is 20, then it will use 80 (100 \- 20), since that is typically the way that the priority numbers are used. .PP If there still isn't a match, the default priority of 20 for S links is used, and the default priority of 80 for K links is used. .SH "COMPATIBILITY" .IX Header "COMPATIBILITY" \&\fBsysv-rc-conf\fR should work on any Unix like system that manages services when changing runlevels by using symlinks in \f(CW\*(C`/etc/rc{runlevel}.d/\*(C'\fR. Refer to your system documentation to see if that's the case (usually there's a \&\f(CW\*(C`/etc/init.d/README\*(C'\fR). .SH "CAVEATS" .IX Header "CAVEATS" \&\fBsysv-rc-conf\fR only manages the symlinks in the \f(CW\*(C`rc{runlevel}.d\*(C'\fR directories. It's possible that packages may have other ways of being disabled or enabled. .PP Because Curses takes over the screen sometimes error messages won't be seen on the terminal. If you run across any weird problems try redirecting \&\s-1STDERR\s0 to a file when you execute the program. .PP For example: # sysv-rc-conf 2> err.out .SH "REPORTING BUGS" .IX Header "REPORTING BUGS" Report bugs to Joe Oppegaard .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fB\fBinit\fB\|(8)\fR, \fB\fBrunlevel\fB\|(8)\fR, \fB\fBchkconfig\fB\|(8)\fR, \f(CW\*(C`/etc/init.d/README\*(C'\fR .PP .Vb 2 \& www: http://sysv\-rc\-conf.sourceforge.net \& ftp: ftp://ftp.pidone.org/sysv\-rc\-conf .Ve .SH "AUTHOR" .IX Header "AUTHOR" Joe Oppegaard