| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | 
							- #!/bin/sh
 
- ########################################################################
 
- # Begin $rc_base/init.d/cleanfs
 
- #
 
- # Description : Clean file system
 
- #
 
- # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
 
- #
 
- # Version     : 00.00
 
- #
 
- # Notes       :
 
- #
 
- ########################################################################
 
- . /etc/sysconfig/rc
 
- . ${rc_functions}
 
- # Function to create files/directory on boot.
 
- create_files() {
 
- 	# Read in the configuration file.
 
- 	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
 
- 								;;
 
- 							*) 
 
- 								boot_mesg -n "\nUnknown device type: ${dtype}" ${WARNING}
 
- 								boot_mesg "" ${NORMAL}
 
- 								;;
 
- 						esac
 
- 						;;
 
- 					*)
 
- 						boot_mesg -n "\nUnknown type: ${type}" ${WARNING}
 
- 						boot_mesg "" ${NORMAL}
 
- 						continue
 
- 						;;
 
- 				esac
 
- 				# Set up the permissions, too.
 
- 				chown ${usr}:${grp} "${name}"
 
- 				chmod ${perm} "${name}"
 
- 			fi
 
- 		done
 
- 	exec 0>&9 9>&-
 
- }
 
- case "${1}" in
 
- 	start)
 
- 		boot_mesg -n "Cleaning file systems:" ${INFO}
 
- 		boot_mesg -n " /tmp" ${NORMAL}
 
- 		cd /tmp &&
 
- 		find . -xdev -mindepth 1 ! -name lost+found \
 
- 			-delete || failed=1
 
- 		boot_mesg -n " /var/lock" ${NORMAL}
 
- 		cd /var/lock &&
 
- 		find . -type f -exec rm -f {} \; || failed=1
 
- 		boot_mesg " /var/run" ${NORMAL}
 
- 		cd /var/run &&
 
- 		find . ! -type d ! -name utmp \
 
- 			-exec rm -f {} \; || failed=1
 
- 		> /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
 
- 			boot_mesg "Creating files and directories..."
 
- 			create_files
 
- 			evaluate_retval
 
- 		fi
 
- 		;;
 
- 	*)
 
- 		echo "Usage: ${0} {start}"
 
- 		exit 1
 
- 		;;
 
- esac
 
- # End $rc_base/init.d/cleanfs
 
 
  |