diff options
Diffstat (limited to 'etc/rc')
| -rw-r--r-- | etc/rc | 80 |
1 files changed, 68 insertions, 12 deletions
@@ -1,4 +1,6 @@ -# @(#)rc 5.27 (Berkeley) 6/5/91 +#!/bin/sh +# $Id: rc,v 1.19.2.2 1994/04/18 04:14:19 rgrimes Exp $ +# From: @(#)rc 5.27 (Berkeley) 6/5/91 # System startup script run by init on autoboot # or after single-user. @@ -61,16 +63,21 @@ umount -a >/dev/null 2>&1 mount -a -t nonfs rm -f /fastboot # XXX (root now writeable) +# If the machine runs wall CMOS clock (compatible with MSDOS), +# activate following line by creating empty file /etc/wall_cmos_clock +# If this file not exist, following line does nothing (assumed +# the machine runs UTC CMOS clock). See adjkerntz(8) for details. +adjkerntz -i + # set hostname, turn on network echo 'starting network' . /etc/netstart -mount -a -t nfs >/dev/null 2>&1 & # XXX shouldn't need background - # clean up left-over files rm -f /etc/nologin rm -f /var/spool/uucp/LCK.* rm -f /var/spool/uucp/STST/* +# don't add .[a-z]* to rm, because of .adjkerntz file (cd /var/run && { rm -rf -- *; cp /dev/null utmp; chmod 644 utmp; }) echo -n 'starting system logger' @@ -109,27 +116,41 @@ then 'password file may be incorrect -- /etc/ptmp exists' fi +# Recover elvis editor files. echo preserving editor files -(cd /var/tmp && /usr/libexec/elvispreserve "-the system rebooted" elvis* && - rm -f elvis[0-9a-f][0-9a-f][0-9a-f][0-9a-f]* \ - elvis_[0-9a-f][0-9a-f][0-9a-f][0-9a-f]*) +(cd /var/tmp && /usr/libexec/elvispreserve "-the system rebooted" elv* && + rm -f elvis[0-9a-f][0-9a-f][0-9a-f][0-9a-f]* \ + elvis_[0-9a-f][0-9a-f][0-9a-f][0-9a-f]*) + +# Recover vi editor files. +virecovery=/var/tmp/vi.recover/recover.* +if [ "$virecovery" != "/var/tmp/vi.recover/recover.*" ]; then + echo 'Recovering vi editor sessions' + for i in $virecovery; do + sendmail -t < $i + done +fi echo clearing /tmp # prune quickly with one rm, then use find to clean up /tmp/[lq]* # (not needed with mfs /tmp, but doesn't hurt there...) (cd /tmp && rm -rf [a-km-pr-zA-Z]* && - find . ! -name . ! -name lost+found ! -name quotas -exec rm -rf -- {} \;) + find -d . ! -name . ! -name lost+found ! -name quotas -exec rm -rf -- {} \;) # echo 'turning on accounting'; accton /var/account/acct echo -n standard daemons: -echo -n ' update'; update -echo -n ' crond'; /usr/libexec/crond +echo -n ' cron'; cron echo '.' echo -n starting network daemons: +# Portmapper should always be run, to provide RPC services for inetd. +if [ -x /usr/sbin/portmap ]; then + echo -n ' portmap'; portmap +fi + # $gated and $routedflags are imported from /etc/netstart. # If $gated == YES, gated is used; otherwise routed. # If $routedflags == NO, routed isn't run. @@ -143,6 +164,24 @@ if [ X${name_server} = X"YES" -a -r /etc/named.boot ]; then echo -n ' named'; named fi +# $ntpdate and $xntpdflags are imported from /etc/netstart. +# If $ntpdate != NO, run ntpdate $ntpdate to set the date correctly. +# If $xntpdflags != NO, start xntpd. +if [ X"${ntpdate}" != X"NO" ]; then + echo ' ntpdate'; ntpdate $ntpdate +fi + +if [ X"${xntpdflags}" != X"NO" ]; then + if [ X"${tickadjflags}" != X"NO" ]; then + echo 'adjusting kernel for xntpd'; tickadj ${tickadjflags--A} + fi + echo 'starting xntpd'; xntpd ${xntpdflags} +fi + +if [ X"${ntpdate}" != X"NO" -o X"${xntpdflags}" != X"NO" ]; then + echo -n 'starting more network daemons:' +fi + # $rwhod is imported from /etc/netstart; # if $rwhod is set to something other than NO, rwhod is run. if [ ${rwhod-NO} != "NO" ]; then @@ -151,18 +190,35 @@ fi echo -n ' printer'; lpd - if [ X${nfs_server} = X"YES" -a -r /etc/exports ]; then - echo -n ' portmap'; portmap echo -n ' mountd'; mountd echo -n ' nfsd'; nfsd -u 0,0,4 -t 0,0 echo -n ' nfsiod'; nfsiod 4 fi -echo -n ' sendmail'; sendmail -bd -q30m +# $sendmail_flags is imported from /etc/netstart; +# if $sendmail_flags is something other than NO, sendmail is run. +if [ X"${sendmail_flags}" != X"NO" -a -r /etc/sendmail.cf ]; then + echo -n ' sendmail'; sendmail ${sendmail_flags} +fi + echo -n ' inetd'; inetd echo '.' +mount -a -t nfs >/dev/null 2>&1 & # XXX shouldn't need background + +# Make shared lib searching a little faster. Leave /usr/lib first if you +# add your own entries or you may come to grief. +if [ -x /sbin/ldconfig ]; then + _LDC=/usr/lib + if [ -d /usr/X11R6/lib ]; then _LDC="${_LDC} /usr/X11R6/lib" ; fi + if [ -d /usr/X386/lib ]; then _LDC="${_LDC} /usr/X386/lib" ; fi + if [ -d /usr/local/lib ]; then _LDC="${_LDC} /usr/local/lib" ; fi + if [ -d /usr/gnu/lib ]; then _LDC="${_LDC} /usr/gnu/lib" ; fi + echo 'setting ldconfig path:' ${_LDC} + ldconfig ${_LDC} +fi + sh /etc/rc.local date |
