aboutsummaryrefslogtreecommitdiff
path: root/etc/rc
diff options
context:
space:
mode:
Diffstat (limited to 'etc/rc')
-rw-r--r--etc/rc80
1 files changed, 68 insertions, 12 deletions
diff --git a/etc/rc b/etc/rc
index 85715719de71..ee1b96427d73 100644
--- a/etc/rc
+++ b/etc/rc
@@ -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