X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/5922f5394f73d891c762ae902124e6fa325de600..46275151f861819c0a3de1b9f6975252055f3372:/usr/src/etc/rc diff --git a/usr/src/etc/rc b/usr/src/etc/rc index 947cb22252..ab415b52f9 100644 --- a/usr/src/etc/rc +++ b/usr/src/etc/rc @@ -1,6 +1,16 @@ -# -# @(#)rc 5.15 (Berkeley) %G% -# +# @(#)rc 8.1 (Berkeley) %G% + +# System startup script run by init on autoboot +# or after single-user. +# Output and error are redirected to console by init, +# and the console is the controlling terminal. + +stty status '^T' + +# Set shell to ignore SIGINT (2), but not children; +# shell catches SIGQUIT (3) and returns to single user after fsck. +trap : 2 +trap : 3 # shouldn't be needed HOME=/; export HOME PATH=/sbin:/bin:/usr/sbin:/usr/bin @@ -8,12 +18,11 @@ export PATH if [ -r /fastboot ] then - rm -f /fastboot - echo Fast boot ... skipping disk checks >/dev/console + echo Fast boot ... skipping disk checks elif [ $1x = autobootx ] then - echo Automatic reboot in progress... >/dev/console - fsck -p >/dev/console 2>&1 + echo Automatic reboot in progress... + fsck -p case $? in 0) ;; @@ -21,16 +30,16 @@ then exit 1 ;; 4) - reboot -n - echo "reboot -n failed... help!" >/dev/console + reboot + echo "reboot failed... help!" exit 1 ;; 8) - echo "Automatic file system check failed... help!" >/dev/console + echo "Automatic file system check failed... help!" exit 1 ;; 12) - echo "Reboot interrupted" >/dev/console + echo "Reboot interrupted" exit 1 ;; 130) @@ -38,54 +47,58 @@ then exit 1 ;; *) - echo "Unknown error in reboot" > /dev/console + echo "Unknown error in reboot" exit 1 ;; esac fi -swapon -a >/dev/console 2>&1 +trap "echo 'Reboot interrupted'; exit 1" 3 -umount -a -mount -a -t nonfs >/dev/console 2>&1 -rm -f /fastboot # XXX +swapon -a -# clean up left-over files -rm -f /etc/nologin -rm -f /var/spool/uucp/LCK.* -rm -f /var/spool/uucp/STST/* -(cd /var/run; rm -rf *; cp /dev/null utmp; chmod 644 utmp) +umount -a >/dev/null 2>&1 +mount -a -t nonfs +rm -f /fastboot # XXX (root now writeable) # set hostname, turn on network +echo 'starting network' . /etc/netstart -mount -a -t nfs & # XXX shouldn't need background +mount -a -t nfs >/dev/null 2>&1 & # XXX shouldn't need background -echo -n 'starting system logger' >/dev/console +# clean up left-over files +rm -f /etc/nologin +rm -f /var/spool/uucp/LCK.* +rm -f /var/spool/uucp/STST/* +(cd /var/run && { rm -rf -- *; install -c -m 664 -g utmp /dev/null utmp; }) + +echo -n 'starting system logger' rm -f /dev/log syslogd # $timedflags is imported from /etc/netstart; # if $timedflags == NO, timed isn't run. if [ X${timedflags} != X"NO" ]; then - echo -n ', time daemon' >/dev/console; timed $timedflags + echo -n ', time daemon'; timed $timedflags fi -echo '.' >/dev/console +echo '.' # /var/crash should be a directory or a symbolic link # to the crash directory if core dumps are to be saved. if [ -d /var/crash ]; then - echo 'checking for core dump... ' >/dev/console - savecore /var/crash >/dev/console 2>&1 + echo checking for core dump... + savecore /var/crash fi - echo -n 'checking quotas:' >/dev/console -quotacheck -a >/dev/console 2>&1 - echo ' done.' >/dev/console -quotaon -a >/dev/console 2>&1 + echo -n 'checking quotas:' +quotacheck -a + echo ' done.' +quotaon -a -# build kvm database -kvm_mkdb >/dev/console 2>&1 +# build ps databases +kvm_mkdb +dev_mkdb chmod 666 /dev/tty[pqrs]* @@ -93,45 +106,65 @@ chmod 666 /dev/tty[pqrs]* if [ -f /etc/ptmp ] then logger -s -p auth.err \ - 'password file may be incorrect -- /etc/ptmp exists' >/dev/console 2>&1 + 'password file may be incorrect -- /etc/ptmp exists' fi -echo preserving editor files >/dev/console -(cd /var/tmp; /usr/libexec/ex3.7preserve -a) -(cd /var/tmp; rm Ex[0-9][0-9][0-9][0-9][0-9] Rx[0-9][0-9][0-9][0-9][0-9]) +echo preserving editor files +(cd /var/tmp && /usr/libexec/ex3.7preserve -a && + rm -f Ex[0-9][0-9][0-9][0-9][0-9] Rx[0-9][0-9][0-9][0-9][0-9]) + +echo clearing /tmp -echo clearing /tmp >/dev/console -# prune quickly with one rm, then use find to clean up /tmp/[lq]* -(cd /tmp; rm -rf [a-km-pr-zA-Z]* ) -(cd /tmp; find . ! -name . ! -name lost+found ! -name quotas -exec rm -r {} \; ) +# Prune quickly with one rm, then use find to clean up /tmp/[lq]* (this +# is not needed with mfs /tmp, but doesn't hurt anything). +(cd /tmp && rm -rf [a-km-pr-zA-Z]* && + find . ! -name . ! -name lost+found ! -name quotas -type d -prune \ + -exec rm -rf -- {} \;) -echo -n standard daemons: >/dev/console -echo -n ' update' >/dev/console; update -echo -n ' cron' >/dev/console; cron -echo -n ' accounting' >/dev/console; accton /var/account/acct -echo '.' >/dev/console +echo 'turning on accounting'; accton /var/account/acct -echo -n starting network daemons: >/dev/console +echo -n standard daemons: +echo -n ' update'; update +echo -n ' cron'; cron +echo '.' -# $routedflags is imported from /etc/netstart; -# if $routedflags == NO, routed isn't run. -if [ X${routedflags} != X"NO" ]; then - echo -n ' routed' >/dev/console; routed $routedflags +echo -n starting network daemons: + +# $gated and $routedflags are imported from /etc/netstart. +# If $gated == YES, gated is used; otherwise routed. +# If $routedflags == NO, routed isn't run. +if [ X${gated} = X"YES" -a -r /etc/gated.conf ]; then + echo -n ' gated'; gated $gatedflags +elif [ X${routedflags} != X"NO" ]; then + echo -n ' routed'; routed $routedflags fi -echo -n ' named' >/dev/console; named >/dev/console 2>&1 -echo -n ' inetd' >/dev/console; inetd +echo -n ' named'; named # $rwhod is imported from /etc/netstart; # if $rwhod is set to something other than NO, rwhod is run. if [ ${rwhod-NO} != "NO" ]; then - echo -n ' rwhod' >/dev/console; rwhod + echo -n ' rwhod'; rwhod fi -echo -n ' printer' >/dev/console; lpd -echo '.' >/dev/console +echo -n ' printer'; lpd + +echo -n ' portmap'; portmap +echo -n ' mountd'; mountd +echo -n ' nfsd'; nfsd -u -t 6 +echo -n ' nfsiod'; nfsiod 4 + +echo -n ' sendmail'; sendmail -bd -q30m +echo -n ' inetd'; inetd +echo -n ' amd'; + cd /; amd -l /var/log/amd -r -a /amd -p > /var/run/amd.pid \ + /home /etc/amd-home \ + /n /etc/amd-n \ + & + +echo '.' sh /etc/rc.local -date >/dev/console +date exit 0