]> Zhao Yanbai Git Server - minix.git/commitdiff
Added /usr/etc files to src.
authorBen Gras <ben@minix3.org>
Mon, 25 Apr 2005 13:50:26 +0000 (13:50 +0000)
committerBen Gras <ben@minix3.org>
Mon, 25 Apr 2005 13:50:26 +0000 (13:50 +0000)
etc/Makefile
etc/mtree/minix.tree
etc/usr/daily [new file with mode: 0755]
etc/usr/dhcptags.conf [new file with mode: 0644]
etc/usr/rc [new file with mode: 0644]

index c36a3a078f748ecbffcdac840bfd0def89c5abb2..0827df0c04f5ef29b89998750a4cf567fefe1dfd 100644 (file)
@@ -1,17 +1,20 @@
 
 ETC=/etc
+USRETC=/usr/etc
 FILES1=fstab group hostname.file inet.conf motd mtab passwd profile protocols rc services termcap ttytab utmp
 FILES2=shadow
+FILES3=daily dhcptags.conf rc
 
 all::
 
 clean::
 
 install::
-       @echo "Installing /etc.."
+       @echo "Installing /etc and /usr/etc.."
        mkdir -p $(ETC)
        for f in $(FILES1); do if [ -f $(ETC)/$$f ]; then echo $$f exists; else cp $$f $(ETC); fi; done
-       for f in $(FILES2); do if [ -f $(ETC)/$$f ]; then echo $$f exists; else cp $$f $(ETC); chmod 600 $$f; fi; done
+       for f in $(FILES2); do if [ -f $(ETC)/$$f ]; then echo $$f exists; else cp $$f $(ETC); chmod 600 $(ETC)/$$f; fi; done
+       for f in $(FILES3); do if [ -f $(USRETC)/$$f ]; then echo $$f exists; else cp usr/$$f $(USRETC); chmod 755 $(USRETC)/$$f; fi; done
        @echo "Making hierarchy.."
        ./mtree.sh mtree/minix.tree
        cd /dev && /usr/src/commands/scripts/MAKEDEV.sh std
index 48f57e7ef0c0fcd659542e552c1515829376453a..97a5be4d9bef5b55644fe4a66dd68dd15937b3c9 100644 (file)
@@ -5,10 +5,11 @@
 555 root    operator /fd0
 755 root    operator /lib
 755 root    operator /lib/i386
-755 bin     operator /boot
+755 root    operator /boot
+755 root    operator /boot/image
 555 root    operator /mnt
 555 root    operator /root
-1777 root    operator /tmp
+1777 root   operator /tmp
 755 root    operator /usr
 755 root    operator /usr/adm
 755 root    operator /usr/adm/old
diff --git a/etc/usr/daily b/etc/usr/daily
new file mode 100755 (executable)
index 0000000..b0e80e2
--- /dev/null
@@ -0,0 +1,66 @@
+#!/bin/sh
+#
+# daily - daily cleanup of the system.
+
+case "$#:$1" in
+1:cron|1:boot)
+    caller=$1
+    ;;
+*)  echo >&2 "Usage: $0 cron|boot"
+    exit 1
+esac
+
+test -d /usr/adm || exit
+cd /usr/adm || exit
+
+# Last run must have been on a previous day.
+timestamp=daily.lasttime
+if test -f $timestamp
+then
+    set -- `ls -lT $timestamp`
+    test "$6 $7 $9" = "$(date '+%b %d %Y')" && exit
+fi
+>$timestamp
+
+# Remove three day old files from various tmp dirs.
+cleantmp -3 /tmp /usr/tmp /usr/preserve /usr/spool/lpd /usr/spool/at/past
+
+# Truncate log files in /usr/adm.
+test -d old || mkdir old || exit
+
+cycle()
+{
+    # Cycle a log file if larger than a size in kilobytes.
+    local size="`expr "$1" + "$1"`"
+    local log="$2"
+
+    if test -f "$log" && test -n "$(find "$log" -size +"$size")"
+    then
+       test -f "old/$log.2" && cp -p "old/$log.2" "old/$log.3"
+       test -f "old/$log.1" && cp -p "old/$log.1" "old/$log.2"
+       cp -p "$log" "old/$log.1"
+       : > "$log"
+    fi
+}
+
+cycle 100 wtmp 
+cycle 100 log 
+cycle  20 ftplog
+cycle 200 aftplog
+
+# Make copies of /etc/passwd and /etc/shadow if they have been changed.
+for file in passwd shadow
+do
+    if cmp -s /etc/$file old/$file.1
+    then
+       # Fine.
+    else
+       test -f old/$file.2 && cp -p old/$file.2 old/$file.3
+       test -f old/$file.1 && cp -p old/$file.1 old/$file.2
+       test -f /etc/$file && cp -p /etc/$file old/$file.1
+    fi
+done
+
+# Continue with a local script if present.
+test -f /usr/local/etc/daily && sh /usr/local/etc/daily $caller
+exit 0
diff --git a/etc/usr/dhcptags.conf b/etc/usr/dhcptags.conf
new file mode 100644 (file)
index 0000000..e649b46
--- /dev/null
@@ -0,0 +1,63 @@
+# A list of all tags mentioned in RFC-1533.
+
+tag 1 netmask ip 1 1;
+tag 2 zoneoffset number 4 1;
+tag 3 gateway ip 1 0;
+tag 4 timeserver ip 1 0;
+tag 5 nameserver ip 1 0;
+tag 6 DNSserver ip 1 0;
+tag 7 logserver ip 1 0;
+tag 8 cookieserver ip 1 0;
+tag 9 LPR ip 1 0;
+tag 10 impress ip 1 0;
+tag 11 resource ip 1 0;
+tag 12 hostname ascii 1 0;
+tag 13 bootfilesize number 2 1;
+tag 14 coredump ip 1 0;
+tag 15 domain ascii 1 0;
+tag 16 swapserver ip 1 1;
+tag 17 rootpath ascii 1 0;
+tag 18 extensions ascii 1 0;
+tag 19 IPforwarding boolean 1 1;
+tag 20 IPnonlocalsource boolean 1 1;
+tag 21 IPpolicyfilter ip 2 0;
+tag 22 IPmaxreassembly number 2 1;
+tag 23 IPTTL number 1 1;
+tag 24 IPMTUaging number 4 1;
+tag 25 IPMTUplateau number 2 0;
+tag 26 IPMTU number 2 1;
+tag 27 IPsublocal boolean 1 1;
+tag 28 IPbroadcast ip 1 1;
+tag 29 IPmaskdiscovery boolean 1 1;
+tag 30 IPmasksupplier boolean 1 1;
+tag 31 IPdiscovery boolean 1 1;
+tag 32 IPsolicitation ip 1 1;
+tag 33 IPstaticroute ip 2 0;
+tag 34 ARPtrailer boolean 1 1;
+tag 35 ARPtimeout number 4 1;
+tag 36 ETHencapsulation boolean 1 1;
+tag 37 TCPTTL number 1 1;
+tag 38 TCPkeepaliveinterval number 4 1;
+tag 39 TCPkeepalivegarbage boolean 1 1;
+tag 40 NISdomain ascii 1 0;
+tag 41 NISserver ip 1 0;
+tag 42 NTPserver ip 1 0;
+tag 43 VENDOR octet 1 0;
+tag 44 NetBIOSNS ip 1 0;
+tag 45 NetBIOSdgram ip 1 0;
+tag 46 NetBIOSnodetype number 1 1;
+tag 47 NetBIOSscope octet 1 0;
+tag 48 Xfontserver ip 1 0;
+tag 49 XDM ip 1 0;
+tag 50 DHCPreqip ip 1 1;
+tag 51 DHCPlease number 4 1;
+tag 52 DHCPoverload number 1 1;
+tag 53 DHCPtype number 1 1;
+tag 54 DHCPserverID ip 1 1;
+tag 55 DHCPreqpar number 1 0;
+tag 56 DHCPmessage ascii 1 0;
+tag 57 DHCPsize number 2 1;
+tag 58 DHCPrenewal number 4 1;
+tag 59 DHCPrebinding number 4 1;
+tag 60 DHCPclassID ascii 1 0;
+tag 61 DHCPclientID octet 1 0;
diff --git a/etc/usr/rc b/etc/usr/rc
new file mode 100644 (file)
index 0000000..1c66262
--- /dev/null
@@ -0,0 +1,103 @@
+# /usr/etc/rc - continued system initialization.
+
+case "$#:$1" in
+1:start|1:stop|1:down)
+    action=$1
+    ;;
+*)  echo >&2 "Usage: $0 start|stop|down"
+    exit 1
+esac
+
+daemonize()
+{
+    # Function to start a daemon, if it exists.
+    local IFS=':'
+    local name="$1"
+    test "$1" = tcpd && name="$2"
+
+    for dir in $PATH
+    do
+       if [ -f "$dir/$1" ]
+       then
+           echo -n " $name"
+           "$@" &
+           return
+       fi
+    done
+}
+
+case $action in
+start)
+    # Select console font.
+    test -f /etc/font && loadfont /etc/font </dev/console
+
+    # Cleanup.
+    rm -rf /tmp/. /usr/run/. /usr/spool/lpd/. /usr/spool/locks/.
+
+    # Start servers.
+    ifs="$IFS"; IFS=,
+    for server in `sysenv servers`; do $server; done
+    IFS="$ifs"; unset ifs
+    sleep 1
+
+    # Network initialization.
+    (: </dev/tcp) 2>/dev/null && net=t # Is there a TCP/IP server?
+
+    echo -n "Starting daemons:"
+    daemonize update
+    daemonize cron
+
+    if [ "$net" ]
+    then
+       if [ -f /etc/rc.net ]
+       then
+           # Let a customized TCP/IP initialization script figure it out.
+           . /etc/rc.net
+       else
+           # Standard network daemons.
+           daemonize dhcpd
+           daemonize nonamed
+           daemonize talkd
+           daemonize tcpd shell in.rshd
+           daemonize tcpd login in.rlogind
+           daemonize tcpd telnet in.telnetd
+           daemonize tcpd ftp in.ftpd
+       fi
+    fi
+
+    # The last daemon has been started, so close the list:
+    echo .
+
+    if [ "$net" ]
+    then
+       # Get the nodename from the DNS and set it.
+       t='-t 10'
+       trap '' 2
+       while :;
+       do
+           intr $t hostaddr -h
+
+           case $? in
+           142)
+               echo "\
+Unable to obtain an IP address after 10 seconds.  Hit DEL to get a root
+prompt to investigate, otherwise just wait until an address is received..."
+               t=
+               ;;
+           130)
+               echo "Single user."
+               intr sh
+               echo "Continue waiting for an address..."
+               ;;
+           *)  break
+           esac
+       done
+       trap 2
+    fi
+
+    # Recover files being edited when the system crashed.
+    test -f /usr/bin/elvprsv && elvprsv /usr/tmp/elv*
+
+    # Run the daily cleanup on systems that are not on at night.
+    test -f /usr/etc/daily && sh /usr/etc/daily boot &
+esac