# PaCkAgE DaTaStReAm RCconf 1 63 # end of header 070701000166d0000081800001de340000000a000000013aa94c6c00000162000000d20000000200000000000000000000000f00000004RCconf/pkginfoPSTAMP=jayhawks.5.8.Generic_108528-03.2001.03.09.13.34 PKG=RCconf NAME=Tsartup Script (Run Control File) management tool ARCH=sparc,i386 VERSION=Beta#2 $Id: pkginfo,v 1.4 2001/03/07 22:29:08 jchouana Exp $ CATEGORY=system DESC=Easy startup scripts management for Solaris VENDOR=YASSP BASEDIR=/ CLASSES=none sed HOTLINE=Jean Chouanard EMAIL=jean@h2tp.com 070701000149ab000081800001de340000000a000000013aa94c58000003b1000000d20000000200000000000000000000000e00000004RCconf/pkgmap: 1 63 1 i depend 304 23981 983832590 1 d none etc ? ? ? 1 f none etc/rc.conf.Dist 0644 root sys 310 25736 983837793 1 f none etc/rclib 0444 root sys 4528 5873 984173584 1 i pkginfo 354 27992 984173676 1 i postinstall 224 16880 983836734 1 d none sbin ? ? ? 1 e sed sbin/rc0 ? ? ? 346 24961 983842391 1 e sed sbin/rc1 ? ? ? 346 24961 983842391 1 e sed sbin/rc2 ? ? ? 346 24961 983842391 1 e sed sbin/rc3 ? ? ? 346 24961 983842391 1 e sed sbin/rcS ? ? ? 346 24961 983842391 1 d none usr ? ? ? 1 d none usr/bin ? ? ? 1 f none usr/bin/checkrc 0555 root sys 269 17835 983830806 1 f none usr/bin/namerc 0555 root sys 842 54213 984173288 1 d none usr/share ? ? ? 1 d none usr/share/man ? ? ? 1 d none usr/share/man/man1m ? ? ? 1 f none usr/share/man/man1m/checkrc.1m 0444 root bin 2784 15320 984005288 1 f none usr/share/man/man1m/namerc.1m 0444 root bin 3313 59927 984003436 1 f none usr/share/man/man1m/rc.conf.1m 0444 root bin 5749 11533 984005499 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!070701000166d0000081800001de340000000a000000013aa94c6c00000162000000d20000000200000000000000000000000800000004pkginfoPSTAMP=jayhawks.5.8.Generic_108528-03.2001.03.09.13.34 PKG=RCconf NAME=Tsartup Script (Run Control File) management tool ARCH=sparc,i386 VERSION=Beta#2 $Id: pkginfo,v 1.4 2001/03/07 22:29:08 jchouana Exp $ CATEGORY=system DESC=Easy startup scripts management for Solaris VENDOR=YASSP BASEDIR=/ CLASSES=none sed HOTLINE=Jean Chouanard EMAIL=jean@h2tp.com 070701000149ab000081800001de340000000a000000013aa94c58000003b1000000d20000000200000000000000000000000700000004pkgmap: 1 63 1 i depend 304 23981 983832590 1 d none etc ? ? ? 1 f none etc/rc.conf.Dist 0644 root sys 310 25736 983837793 1 f none etc/rclib 0444 root sys 4528 5873 984173584 1 i pkginfo 354 27992 984173676 1 i postinstall 224 16880 983836734 1 d none sbin ? ? ? 1 e sed sbin/rc0 ? ? ? 346 24961 983842391 1 e sed sbin/rc1 ? ? ? 346 24961 983842391 1 e sed sbin/rc2 ? ? ? 346 24961 983842391 1 e sed sbin/rc3 ? ? ? 346 24961 983842391 1 e sed sbin/rcS ? ? ? 346 24961 983842391 1 d none usr ? ? ? 1 d none usr/bin ? ? ? 1 f none usr/bin/checkrc 0555 root sys 269 17835 983830806 1 f none usr/bin/namerc 0555 root sys 842 54213 984173288 1 d none usr/share ? ? ? 1 d none usr/share/man ? ? ? 1 d none usr/share/man/man1m ? ? ? 1 f none usr/share/man/man1m/checkrc.1m 0444 root bin 2784 15320 984005288 1 f none usr/share/man/man1m/namerc.1m 0444 root bin 3313 59927 984003436 1 f none usr/share/man/man1m/rc.conf.1m 0444 root bin 5749 11533 984005499 070701000171c8000041c90001de340000000a000000023aa94c5800000000000000d20000000200000000000000000000000800000004install07070100017436000081800001de340000000a000000013aa4180e00000130000000d20000000200000000000000000000000f00000004install/depend# # $Id: depend,v 1.1 2001/03/05 22:50:04 jchouana Exp $ # # # P prerequisite for installation # I incompatible package # R reverse dependency # P SUNWcar Core Architecture, (Root) P SUNWkvm Core Architecture, (Kvm) P SUNWcsr Core Sparc, (Root) P SUNWcsu Core Sparc, (Usr) P SUNWcsd Core Sparc Devices 07070100017658000081800001de340000000a000000013aa4283e000000e0000000d20000000200000000000000000000001400000004install/postinstall#!/bin/sh # $Id: postinstall,v 1.3 2001/03/05 23:59:15 jchouana Exp $ # # if [ ! -f /etc/rc.conf ] ; then cp /etc/rc.conf.Dist /etc/rc.conf fi chown root /etc/rc.conf chgrp sys /etc/rc.conf chmod 0644 /etc/rc.conf # 070701000174cc000041c90001de340000000a000000053aa94c5800000000000000d20000000200000000000000000000000600000004reloc070701000174f1000041c90001de340000000a000000023aa94c5800000000000000d20000000200000000000000000000000a00000004reloc/etc07070100017627000081800001de340000000a000000013aa42c6100000136000000d20000000200000000000000000000001700000004reloc/etc/rc.conf.Dist# # Global options: # # Should we run the startup script not defined in this file? RUNBYDEFAULT=YES # # Verbose level: # 0: silent # 1: error only (incorrect file name od mode) # 2 warning about startup not following Sun standard # 3: be verbose about the actions taken. # 4: all debug turn on # VERBOSE=1 # 0707010001763a000081800001de340000000a000000013aa94c10000011b0000000d20000000200000000000000000000001000000004reloc/etc/rclib# # $Id: rclib,v 1.11 2001/03/09 21:33:25 jchouana Exp $ # cfgfile="/etc/rc.conf" runit=1 verbose=3 # # # wrapper to control when/how we wrote the messages # depending on the verbose level # # Usage: displaymsg message displaymsg() { lvlmsg=$1 lvlstr="---" if [ ${lvlmsg} -eq 1 ] ;then lvlstr="***" elif [ ${lvlmsg} -eq 2 ] ;then lvlstr="**-" elif [ ${lvlmsg} -eq 3 ] ;then lvlstr="*--" fi shift if [ ${verbose} -ge ${lvlmsg} ] ; then echo "${lvlstr}" " " $* >&2 fi } # # Initvar # read the config file to get the global options # initvar() { if [ -r ${cfgfile} ] ; then egrep "^[ ]*RUNBYDEFAULT=YES$" ${cfgfile} 1>/dev/null 2>&1 if [ $? -eq 1 ]; then runit=1 else egrep "^[ ]*RUNBYDEFAULT=" ${cfgfile} 1>/dev/null 2>&1 if [ $? -eq 1 ]; then runit=0 fi fi VR=`egrep "^[ ]*VERBOSE=[0123]$" ${cfgfile}|sed 's/^[ ]*VERBOSE=//'` if [ "X${VR}" != "X" ] ; then verbose=${VR} fi fi } # # Sanity check: # # Check the name, filemode and ownership of the # startup script # checkstartup() { name=`basename "$1"` badname=1 # namming check badc=`echo "${name}"|sed -e 's/^S[0-9][0-9]*[a-zA-Z.0-9][-_a-zA-Z.0-9]*$//'|wc -c` if [ ${badc} -ne 1 ]; then displaymsg 1 "\"${1}\" has incorrects (dangerous?) character(s) in its name" return fi # owner(s) if [ `ls -l "$1"|awk '{print $3}'` != "root" ]; then displaymsg 1 "\"${1}\" is not owned by root" return elif [ `ls -lL "$1"|awk '{print $3}'` != "root" ]; then displaymsg 1 "\"${1}\" is not owned by root" return fi # permission, no o+w if [ `ls -lL "$1" | sed 's/ .*$//' | sed 's/^........\(.\).*/\1/'` != "-" ] ; then displaymsg 1 "\"${1}\" is writable by other" return fi badname=0 } # # Get the name of the init script, normalize it # getrcname() { foundit="NO" outf="" checkstartup "${1}" if [ ${badname} -eq 0 ]; then outf=`ls -iL "${1}" 2>/dev/null` if [ $? -eq 0 ]; then # It exists foundit="YES" fi inode=`echo ${outf}|awk '{print $1}'` unset outf if [ "X${foundit}" != "XYES" ]; then displaymsg 1 "\"${1}\" doesn't point to an existing file" elif [ -h "${1}" ]; then # A symlink. Let see if it point to the /etc/init.d dir resu=`find /etc/init.d -inum ${inode} -print|wc -l ` if [ ${resu} -eq 0 ]; then # The startup file is a symlink to an existing file *NOT* under /etc/init.d displaymsg 2 "\"${1}\" is a symlink and doesn't point to a file under /etc/init.d" else # The startup file is a symlink to an existing file under /etc/init.d displaymsg 2 "\"${1}\" is a symlink to a file under /etc/init.d, should be a hardlink" fi # get the name and normalise it name=`ls -l ${1} | sed 's/^.* //' | sed 's:.*/::'|tr "[:lower:]" "[:upper:]"| tr -cd "[:alpha:]"` else # Not a symlink. Is that a hardlink? resu=`find /etc/init.d -inum ${inode} -print` if [ `echo ${resu} | wc -l ` -eq 0 ]; then displaymsg 2 "\"${1}\" isn't hardlinked to a file under /etc/init.d" name=`echo ${name} |tr "[:lower:]" "[:upper:]"| tr -cd "[:alpha:]"` else name=`echo ${resu} | sed 's/^.* //' | sed 's:.*/::'|tr "[:lower:]" "[:upper:]"| tr -cd "[:alpha:]"` fi fi fi } grepname() { if [ -r ${cfgfile} ] ; then egrep "^[ ]*${1}=YES$" ${cfgfile} 1>/dev/null 2>&1 if [ $? -eq 0 ]; then displaymsg 3 "\"$2\" is turn on by ${cfgfile}" return 1 else egrep "^[ ]*${1}=" ${cfgfile} 1>/dev/null 2>&1 if [ $? -eq 0 ]; then displaymsg 3 "\"$2\" is turn off by ${cfgfile}" return 0 else displaymsg 4 "\"$2\" is not in ${cfgfile}, use the \"${name}\" variable to control it" if [ ${runit} -eq 1 ] ; then displaymsg 3 " running \"$2\", as RUNBYDEFAULT is set to YES" else displaymsg 3 " NOT running \"$2\", as RUNBYDEFAULT is set to NO" fi return ${runit} fi fi else displaymsg 2 "No ${cfgfile}, will start all scripts" return 1 fi } dorc() { if [ -r $1 ] ; then getrcname $1 if [ "X${foundit}" = "XYES" -a ${badname} -eq 0 ] ; then grepname ${name} $1 return $? else displaymsg 2 "NOT running \"$1\"" return 5 fi else displaymsg 1 "\"$1\" is not readable" return 6 fi } # initvar # 07070100017669000041c90001de340000000a000000023aa94c5800000000000000d20000000200000000000000000000000b00000004reloc/sbin0707010001766a000081800001de340000000a000000013aa43e570000015a000000d20000000200000000000000000000000f00000004reloc/sbin/rc0# $Id: rc.sed,v 1.7 2001/03/06 01:33:31 jchouana Exp $ !install /^# RCconf start/,/^# RCconf end/ d 1 a\ \# RCconf start\ if [ -r /etc/rclib ] ;then\ . /etc/rclib\ fi\ \# RCconf end /\/etc\/rc.\.d\/S\*/ { a\ \# RCconf start\ dorc $f\ if [ $? -eq 0 ] ; then\ break\ fi\ \# RCconf end } !remove /^# RCconf start/,/^# RCconf end/ d 0707010001766c000081800001de340000000a000000013aa43e570000015a000000d20000000200000000000000000000000f00000004reloc/sbin/rc1# $Id: rc.sed,v 1.7 2001/03/06 01:33:31 jchouana Exp $ !install /^# RCconf start/,/^# RCconf end/ d 1 a\ \# RCconf start\ if [ -r /etc/rclib ] ;then\ . /etc/rclib\ fi\ \# RCconf end /\/etc\/rc.\.d\/S\*/ { a\ \# RCconf start\ dorc $f\ if [ $? -eq 0 ] ; then\ break\ fi\ \# RCconf end } !remove /^# RCconf start/,/^# RCconf end/ d 0707010001766d000081800001de340000000a000000013aa43e570000015a000000d20000000200000000000000000000000f00000004reloc/sbin/rc2# $Id: rc.sed,v 1.7 2001/03/06 01:33:31 jchouana Exp $ !install /^# RCconf start/,/^# RCconf end/ d 1 a\ \# RCconf start\ if [ -r /etc/rclib ] ;then\ . /etc/rclib\ fi\ \# RCconf end /\/etc\/rc.\.d\/S\*/ { a\ \# RCconf start\ dorc $f\ if [ $? -eq 0 ] ; then\ break\ fi\ \# RCconf end } !remove /^# RCconf start/,/^# RCconf end/ d 0707010001766e000081800001de340000000a000000013aa43e570000015a000000d20000000200000000000000000000000f00000004reloc/sbin/rc3# $Id: rc.sed,v 1.7 2001/03/06 01:33:31 jchouana Exp $ !install /^# RCconf start/,/^# RCconf end/ d 1 a\ \# RCconf start\ if [ -r /etc/rclib ] ;then\ . /etc/rclib\ fi\ \# RCconf end /\/etc\/rc.\.d\/S\*/ { a\ \# RCconf start\ dorc $f\ if [ $? -eq 0 ] ; then\ break\ fi\ \# RCconf end } !remove /^# RCconf start/,/^# RCconf end/ d 07070100017673000081800001de340000000a000000013aa43e570000015a000000d20000000200000000000000000000000f00000004reloc/sbin/rcS# $Id: rc.sed,v 1.7 2001/03/06 01:33:31 jchouana Exp $ !install /^# RCconf start/,/^# RCconf end/ d 1 a\ \# RCconf start\ if [ -r /etc/rclib ] ;then\ . /etc/rclib\ fi\ \# RCconf end /\/etc\/rc.\.d\/S\*/ { a\ \# RCconf start\ dorc $f\ if [ $? -eq 0 ] ; then\ break\ fi\ \# RCconf end } !remove /^# RCconf start/,/^# RCconf end/ d 07070100017675000041c90001de340000000a000000043aa94c5900000000000000d20000000200000000000000000000000a00000004reloc/usr07070100017676000041c90001de340000000a000000023aa94c5900000000000000d20000000200000000000000000000000e00000004reloc/usr/bin07070100017677000081800001de340000000a000000013aa411160000010d000000d20000000200000000000000000000001600000004reloc/usr/bin/checkrc#!/bin/sh # $Id: checkrc,v 1.3 2001/03/05 22:20:24 jchouana Exp $ # . /etc/rclib if [ $# -gt 0 ] ; then if [ "$1" = "-v" ] ; then verbose=4 shift fi fi if [ $# -gt 0 ] ; then for i in $* do dorc $i done else for i in /etc/rc?.d/S* do dorc $i done fi # 07070100017691000081800001de340000000a000000013aa94ae80000034a000000d20000000200000000000000000000001500000004reloc/usr/bin/namerc#!/bin/sh # $Id: namerc,v 1.3 2001/03/09 21:28:29 jchouana Exp $ # . /etc/rclib quiet=0 while : do if [ $# -gt 0 ] ; then if [ "$1" = "-v" ] ; then verbose=4 shift elif [ "$1" = "-q" ] ; then quiet=1 shift else break fi else break fi done if [ $# -gt 0 ] ; then for i in $* do if [ ${quiet} -eq 0 ] ; then dorc $i echo "$i variable name is: ${name}" else dorc $i if [ $? -eq 1 ] ; then echo "${name}=YES" elif [ $? -eq 0 ] ; then echo "${name}=NO" fi fi done else for i in /etc/rc?.d/S* do if [ ${quiet} -eq 0 ] ; then dorc $i echo "$i variable name is: ${name}" else dorc $i if [ $? -eq 1 ] ; then echo "${name}=YES" elif [ $? -eq 0 ] ; then echo "${name}=NO" fi fi done fi # 0707010001769e000041c90001de340000000a000000033aa94c5900000000000000d20000000200000000000000000000001000000004reloc/usr/share0707010001769f000041c90001de340000000a000000033aa94c5900000000000000d20000000200000000000000000000001400000004reloc/usr/share/man070701000176a0000041c90001de340000000a000000023aa94c5900000000000000d20000000200000000000000000000001a00000004reloc/usr/share/man/man1m07070100017708000081800001de340000000a000000013aa6baa800000ae0000000d20000000200000000000000000000002500000004reloc/usr/share/man/man1m/checkrc.1m'\" t .\" $Id: checkrc.1m,v 1.2 2001/03/07 22:48:28 jchouana Exp $ .\" .\" ******************************************************************************************* .\" .\"Author: Jean Chouanard .\" .\"******************************************************************************************* .\"Copyright (c) 2000 Jean Chouanard. All rights reserved. .\" .\"Redistribution and use in source and binary forms, with or without modification, .\"are permitted provided that the following conditions are met: .\" .\"Redistributions of source code must retain the above copyright notice, .\"this list of conditions and the following disclaimer. .\" .\"Redistributions in binary form must reproduce the above copyright notice, .\"this list of conditions and the following disclaimer in the documentation .\"and/or other materials provided with the distribution. .\" .\"Neither name of Jean Chouanard, nor the names of its contributors may be .\"used to endorse or promote products derived from this software without .\"specific prior written permission. .\" .\"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' .\"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\"ARE DISCLAIMED. IN NO EVENT SHALL JEAN CHOUANARD OR CONTRIBUTORS BE .\"LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; .\"LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING .\"NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\"EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" ******************************************************************************************* .\" .TH RCCONF 1M "Mar 6 2001" "checkrc" .SH NAME checkrc - check the existing startup script. .SH SYNOPSIS .LP /usr/bin/checkrc [-v] [path to a startup script] .LP .SH DESCRIPTION .LP The .I checkrc utility check the given startup script for potential problem. Check is done on the validity of the link, if the file is a link, the owner and filemode. If no argument are given, it will default to all /etc/rc?.d/S*. .br .B -v turn on debugging and verbose output, showing for example what are the control variable for each script, if they will be run at the next boot and why. .SH BUGS Please send bugs report, suggestions, feedbacks or just comments to . .SH FILES .I /etc/rc.conf, /etc/rclib .SH SEE ALSO rc.conf (1M), namerc (1M) .SH AUTHORS .LP Jean Chouanard (http://www.yassp.org) .LP 07070100017755000081800001de340000000a000000013aa6b36c00000cf1000000d20000000200000000000000000000002400000004reloc/usr/share/man/man1m/namerc.1m'\" t .\" $Id: namerc.1m,v 1.2 2001/03/07 22:17:35 jchouana Exp $ .\" .\" ******************************************************************************************* .\" .\"Author: Jean Chouanard .\" .\"******************************************************************************************* .\"Copyright (c) 2000 Jean Chouanard. All rights reserved. .\" .\"Redistribution and use in source and binary forms, with or without modification, .\"are permitted provided that the following conditions are met: .\" .\"Redistributions of source code must retain the above copyright notice, .\"this list of conditions and the following disclaimer. .\" .\"Redistributions in binary form must reproduce the above copyright notice, .\"this list of conditions and the following disclaimer in the documentation .\"and/or other materials provided with the distribution. .\" .\"Neither name of Jean Chouanard, nor the names of its contributors may be .\"used to endorse or promote products derived from this software without .\"specific prior written permission. .\" .\"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' .\"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\"ARE DISCLAIMED. IN NO EVENT SHALL JEAN CHOUANARD OR CONTRIBUTORS BE .\"LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; .\"LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING .\"NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\"EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" ******************************************************************************************* .\" .TH RCCONF 1M "Mar 6 2001" "namerc" .SH NAME namerc - display the name of the variable controlling a startup script execution at the boot time. .SH SYNOPSIS .LP /usr/bin/namerc [-v] [path to a startup script] .LP .SH DESCRIPTION .LP The .I namerc utility display the variable name use used to control the execution of the listed startup script. If no argument are given, it will default to all /etc/rc?.d/S*. .br .B -v turn on debugging and verbose output .SH NAMING CONVENTION USED The goal of the naming covention is to assoiciated to each startup script found under /etc/rc?.d/S* a unique name, use to crontrol its execution at the boot time. .LP It work as explain bellow: .RS 6 .LP 1) .I Get the name of the script: If the given path is a symlink, get the name of this symlink; if not, if the file is a hardlink to a file under /etc/init.d, get this name or return the basename of the given path if the two previous test failled. .LP 2) .I Cleanning the name: we translate the name found, using the following .B tr (1) command: .RS .nf .ft 3 tr "[:lower:]" "[:upper:]"| tr -cd "[:alpha:]" .SH BUGS Please send bugs report, suggestions, feedbacks or just comments to . .SH FILES .I /etc/rc.conf, /etc/rclib .SH SEE ALSO rc.conf (1M), checkrc (1M) .SH AUTHORS .LP Jean Chouanard (http://www.yassp.org) .LP 070701000177bf000081800001de340000000a000000013aa6bb7b00001675000000d20000000200000000000000000000002500000004reloc/usr/share/man/man1m/rc.conf.1m'\" t .\" $Id: rc.conf.1m,v 1.8 2001/03/07 22:52:00 jchouana Exp $ .\" .\" ******************************************************************************************* .\" .\"Author: Jean Chouanard .\" .\"******************************************************************************************* .\"Copyright (c) 2000 Jean Chouanard. All rights reserved. .\" .\"Redistribution and use in source and binary forms, with or without modification, .\"are permitted provided that the following conditions are met: .\" .\"Redistributions of source code must retain the above copyright notice, .\"this list of conditions and the following disclaimer. .\" .\"Redistributions in binary form must reproduce the above copyright notice, .\"this list of conditions and the following disclaimer in the documentation .\"and/or other materials provided with the distribution. .\" .\"Neither name of Jean Chouanard, nor the names of its contributors may be .\"used to endorse or promote products derived from this software without .\"specific prior written permission. .\" .\"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' .\"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\"ARE DISCLAIMED. IN NO EVENT SHALL JEAN CHOUANARD OR CONTRIBUTORS BE .\"LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; .\"LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING .\"NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\"EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" ******************************************************************************************* .\" .TH RCCONF 1M "Mar 6 2001" "RCconf" "rc.conf" .SH NAME RCconf \- rc.conf (1M): Solaris startup scripts management tool and configuration file .SH SYNOPSIS .LP /etc/rc.conf .LP /etc/rclib .LP .SH DESCRIPTION .LP .I RCconf is a a tool to ease startup scripts management under Solaris. .LP It offer an easy way to chose which startup script (or Run control file, located under /etc/rc?.d/S[0-9][0-9]*) should be run through a single text-based configuration file .I /etc/rc.conf , avoiding any direct file manipulation under /etc/rc?.d/ .LP The .I RCconf package modify at the installation time the Run Control master scripts ( .I/sbin/rc? ) using a sed script, to enable conditional action base on the configuration file. .LP .I /etc/rc.conf use a shell-like syntax for variable definition.It is being grep-ed to extract variable value without risk of aborting on syntax error. .LP .I RCconf use a naming convention to associate with each startup script .I/etc/rc?.d/S[0-9][0-9]* a unique variable name. At the boot time, RCconf decide to run a specific startup script if its variable is set to "YES" in .I /etc/rc.conf or if its generic options .I RUNBYDEFAULT is set to yes. .br See .I namerc (1M) for more information about the naming convention use. .LP A sanity check is also done on the filemode and owner of a startup script before running it. Startup script not owned by root, or writable by 'other' won't be executed. .LP .I /etc/rc.conf is composed of two distinct parts: the first will define some general option, the second deal with each specific startup file. .LP .I /etc/rc.conf has two general option: .TP 15 .I RUNBYDEFAULT If set to YES: all startup script for which their variable is set in .I rc.conf but NOT set to YES won't be started; all startup script for which their variable is NOT set in .I rc.conf will be started. .br If set to NO: only startup script for which their variable is set in .I rc.conf to YES will be started. .br For generic user-workstation, setting RUNBYDEFAULT to YES and define in rc.conf the startup you don't want to run by setting their control variable to NO seems reasonable. .br On another hand, for secure servers, you may want to turn RUNBYDEFAULT to NO and define in rc.conf the startup you want to run. Thus any newly installed or unknown startup won't be run. .I WARNING: If you turn RUNBYDEFAULT to NO, be sure to include in rc.conf *ALL* the startup scripts required for Solaris to boot correctly!!!! .br Default .I RUNBYDEFAULT=YES .TP .I VERBOSE enable more or less verbose output, 0 being silent, 1 will output error only, 2 will output also warning about startup script not following Sun standard, 3 will be verbose on the chose to run or not and 4 will turn on all debug.. .br Default .I VERBOSE=1 .SH IMPLEMENTATION NOTE & RC.CONF SYNTAX All the shell functions used are wrapped in a shell library .I /etc/rclib. .LP Variable affectation in .I /etc/rc.conf look like shell but are not! :-) .br The .I /etc/rc.conf file cannot be source by the /sbin/rc? scripts as it may have some typo which will abort the boot process. Instead, variable value is extracted using grep/sed. .LP A variable affectation must match the following regexp: .RS 6 .LP 1) must start at the beginning of a line or or after some or character only. .LP 2) should be a word representing the variable name directly followed by the equal "=" character and the variable value. .LP 3) nothing should be after the variable value except the end of line character .SH BUGS Please send bugs report, suggestions, feedbacks or just comments to . .SH FILES .I /etc/rc.conf, /etc/rclib .SH SEE ALSO namerc (1M), checkrc (1m), inittab (4) .SH AUTHORS .LP Jean Chouanard (http://www.yassp.org) .LP 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!