diff options
-rw-r--r-- | etc/defaults/rc.conf | 4 | ||||
-rw-r--r-- | etc/rc.d/abi | 39 | ||||
-rw-r--r-- | etc/rc.d/cleanvar | 52 | ||||
-rwxr-xr-x | etc/rc.d/cleartmp | 23 | ||||
-rw-r--r-- | share/man/man5/rc.conf.5 | 7 |
5 files changed, 77 insertions, 48 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf index 9b736c5..5239f29f 100644 --- a/etc/defaults/rc.conf +++ b/etc/defaults/rc.conf @@ -54,6 +54,7 @@ varmfs="AUTO" # Set to YES to always create an mfs /var, NO to never varsize="32m" # Size of mfs /var if created varmfs_flags="-S -M" # Extra mount options for the mfs /var populate_var="AUTO" # Set to YES to always (re)populate /var, NO to never +cleanvar_enable="YES" # Clean the /var directory local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs. script_name_sep=" " # Change if your startup scripts' names contain spaces rc_conf_files="/etc/rc.conf /etc/rc.conf.local" @@ -483,9 +484,12 @@ check_quotas="YES" # Check quotas on startup (or NO). accounting_enable="NO" # Turn on process accounting (or NO). ibcs2_enable="NO" # Ibcs2 (SCO) emulation loaded at startup (or NO). ibcs2_loaders="coff" # List of additional Ibcs2 loaders (or NO). + +# Emulation/compatibility services provided by /etc/rc.d/abi sysvipc_enable="NO" # Load System V IPC primitives at startup (or NO). linux_enable="NO" # Linux binary compatibility loaded at startup (or NO). svr4_enable="NO" # SysVR4 emulation loaded at startup (or NO). + osf1_enable="NO" # Alpha OSF/1 emulation loaded at startup (or NO). clear_tmp_enable="NO" # Clear /tmp at startup. ldconfig_insecure="NO" # Set to YES to disable ldconfig security checks diff --git a/etc/rc.d/abi b/etc/rc.d/abi index 53c5447..a60fd68 100644 --- a/etc/rc.d/abi +++ b/etc/rc.d/abi @@ -10,12 +10,9 @@ . /etc/rc.subr -echo -n 'Additional ABI support:' - -name="sysvipc" -rcvar=`set_rcvar` -start_cmd="sysv_start" -stop_cmd=":" +name="abi" +start_precmd="${name}_prestart" +start_cmd=":" sysv_start() { @@ -24,12 +21,6 @@ sysv_start() kldload sysvsem >/dev/null 2>&1 kldload sysvshm >/dev/null 2>&1 } -load_rc_config $name -run_rc_command "$1" - -name="linux" -rcvar=`set_rcvar` -start_cmd="linux_start" linux_start() { @@ -41,15 +32,23 @@ linux_start() /compat/linux/sbin/ldconfig fi } -load_rc_config $name -run_rc_command "$1" -name="svr4" -rcvar=`set_rcvar` -start_precmd="echo -n ' svr4'" -start_cmd="kldload svr4 > /dev/null 2>&1" +svr4_start() +{ + echo -n ' svr4' + kldload svr4 > /dev/null 2>&1 +} + +abi_prestart() +{ + echo -n 'Additional ABI support:' + + checkyesno sysvipc_enable && sysv_start + checkyesno linux_enable && linux_start + checkyesno svr4_enable && svr4_start + + echo '.' +} load_rc_config $name run_rc_command "$1" - -echo '.' diff --git a/etc/rc.d/cleanvar b/etc/rc.d/cleanvar index 8178fef..b075738 100644 --- a/etc/rc.d/cleanvar +++ b/etc/rc.d/cleanvar @@ -6,6 +6,18 @@ # PROVIDE: cleanvar # REQUIRE: mountcritlocal var +. /etc/rc.subr + +name="cleanvar" +rcvar=`set_rcvar` + +start_precmd="${name}_prestart" +start_cmd="${name}_start" +stop_cmd=":" + +extra_commands="reload" +reload_cmd="${name}_start" + purgedir() { local dir file @@ -34,20 +46,28 @@ purgedir() fi } -# These files must be removed only the first time this script is run -# on boot. -# -[ "$1" != "reload" ] && rm -f /var/run/clean_var /var/spool/lock/clean_var - -if [ -d /var/run -a ! -f /var/run/clean_var ]; then - purgedir /var/run - # And an initial utmp file - (cd /var/run && cp /dev/null utmp && chmod 644 utmp;) - >/var/run/clean_var -fi -if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then - purgedir /var/spool/lock - >/var/spool/lock/clean_var -fi -rm -rf /var/spool/uucp/.Temp/* +cleanvar_prestart() +{ + # These files must be removed only the first time this script is run + # on boot. + # + rm -f /var/run/clean_var /var/spool/lock/clean_var +} + +cleanvar_start () +{ + if [ -d /var/run -a ! -f /var/run/clean_var ]; then + purgedir /var/run + # And an initial utmp file + (cd /var/run && cp /dev/null utmp && chmod 644 utmp;) + >/var/run/clean_var + fi + if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then + purgedir /var/spool/lock + >/var/spool/lock/clean_var + fi + rm -rf /var/spool/uucp/.Temp/* +} +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/cleartmp b/etc/rc.d/cleartmp index bacc235..2220fc4 100755 --- a/etc/rc.d/cleartmp +++ b/etc/rc.d/cleartmp @@ -1,6 +1,5 @@ #!/bin/sh # -# $NetBSD: cleartmp,v 1.4 2002/03/22 04:33:58 thorpej Exp $ # $FreeBSD$ # @@ -12,12 +11,12 @@ name="cleartmp" rcvar=`set_rcvar clear_tmp` -start_cmd="cleartmp_start" -stop_cmd=":" -x11_socket_dirs="/tmp/.X11-unix /tmp/.ICE-unix /tmp/.font-unix /tmp/.XIM-unix" +start_cmd="${name}_start" cleartmp_start() { + + local x11_socket_dirs="/tmp/.X11-unix /tmp/.ICE-unix /tmp/.font-unix /tmp/.XIM-unix" echo "Clearing /tmp." # # Prune quickly with one rm, then use find to clean up @@ -27,14 +26,16 @@ cleartmp_start() (cd /tmp && rm -rf [a-km-pr-zA-Z]* && find -x . ! -name . ! -name lost+found ! -name quota.user \ ! -name quota.group -exec rm -rf -- {} \; -type d -prune) + + # Remove X lock files, since they will prevent you from restarting X. + rm -f /tmp/.X[0-9]-lock + + # Create socket directories with correct permissions to avoid + # security problem. + # + rm -fr ${x11_socket_dirs} + mkdir -m 1777 ${x11_socket_dirs} } load_rc_config $name run_rc_command "$1" - -# Remove X lock files, since they will prevent you from restarting X. -rm -f /tmp/.X[0-9]-lock - -# Create socket directories with correct permissions to avoid security problem. -rm -fr ${x11_socket_dirs} -mkdir -m 1777 ${x11_socket_dirs} diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index db17282..49737e9 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 10, 2005 +.Dd December 19, 2005 .Dt RC.CONF 5 .Os .Sh NAME @@ -322,6 +322,11 @@ Note that this process requires access to certain commands in before .Pa /usr is mounted on normal systems. +.It Va cleanvar_enable +.Pq Vt bool +Clean the +.Pa /var +directory. .It Va local_startup .Pq Vt str List of directories to search for startup script files. |