| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | 
							- #!/bin/sh
 
- ########################################################################
 
- # Begin cleanfs
 
- #
 
- # Description : Clean file system
 
- #
 
- # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
 
- #               DJ Lucas - dj@linuxfromscratch.org
 
- # Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 
- #
 
- # Version     : LFS 7.0
 
- #
 
- ########################################################################
 
- ### BEGIN INIT INFO
 
- # Provides:            cleanfs
 
- # Required-Start:      $local_fs
 
- # Should-Start:
 
- # Required-Stop:
 
- # Should-Stop:
 
- # Default-Start:       S
 
- # Default-Stop:
 
- # Short-Description:   Cleans temporary directories early in the boot process.
 
- # Description:         Cleans temporary directories /var/run, /var/lock, and
 
- #                      optionally, /tmp.  cleanfs also creates /var/run/utmp 
 
- #                      and any files defined in /etc/sysconfig/createfiles.
 
- # X-LFS-Provided-By:   LFS
 
- ### END INIT INFO
 
- . /lib/lsb/init-functions
 
- # Function to create files/directory on boot.
 
- create_files() 
 
- {
 
-    # Input to file descriptor 9 and output to stdin (redirection)
 
-    exec 9>&0 < /etc/sysconfig/createfiles
 
-    while read name type perm usr grp dtype maj min junk
 
-    do
 
-       # Ignore comments and blank lines.
 
-       case "${name}" in
 
-          ""|\#*) continue ;;
 
-       esac
 
-       # Ignore existing files.
 
-       if [ ! -e "${name}" ]; then
 
-          # Create stuff based on its type.
 
-          case "${type}" in
 
-             dir)
 
-                mkdir "${name}"
 
-                ;;
 
-             file)
 
-                :> "${name}"
 
-                ;;
 
-             dev)
 
-                case "${dtype}" in
 
-                   char)
 
-                      mknod "${name}" c ${maj} ${min}
 
-                      ;;
 
-                   block)
 
-                      mknod "${name}" b ${maj} ${min}
 
-                      ;;
 
-                   pipe)
 
-                      mknod "${name}" p
 
-                      ;;
 
-                   *) 
 
-                      log_warning_msg "\nUnknown device type: ${dtype}" 
 
-                      ;;
 
-                esac
 
-                ;;
 
-             *)
 
-                log_warning_msg "\nUnknown type: ${type}" 
 
-                continue
 
-                ;;
 
-          esac
 
-          # Set up the permissions, too.
 
-          chown ${usr}:${grp} "${name}"
 
-          chmod ${perm} "${name}"
 
-       fi
 
-    done
 
-    # Close file descriptor 9 (end redirection)
 
-    exec 0>&9 9>&-
 
-    return 0
 
- }
 
- case "${1}" in
 
-    start)
 
-       log_info_msg "Cleaning file systems:" 
 
-       if [ "${SKIPTMPCLEAN}" = "" ]; then
 
-          log_info_msg2 " /tmp" 
 
-          cd /tmp &&
 
-          find . -xdev -mindepth 1 ! -name lost+found -delete || failed=1
 
-       fi
 
-       > /var/run/utmp
 
-       if grep -q '^utmp:' /etc/group ; then
 
-          chmod 664 /var/run/utmp
 
-          chgrp utmp /var/run/utmp
 
-       fi
 
-       (exit ${failed})
 
-       evaluate_retval
 
-       if egrep -qv '^(#|$)' /etc/sysconfig/createfiles 2>/dev/null; then
 
-          log_info_msg "Creating files and directories... "
 
-          create_files      # Always returns 0
 
-          evaluate_retval
 
-       fi
 
-       exit $failed
 
-       ;;
 
-    *)
 
-       echo "Usage: ${0} {start}"
 
-       exit 1
 
-       ;;
 
- esac
 
- # End cleanfs
 
 
  |