< Previous | Contents | Next >
D.11. /etc/rc.d/init.d/cleanfs
#!/bin/sh
########################################################################
# Begin cleanfs
#
# Description : Clean file system
#
#!/bin/sh
########################################################################
# Begin cleanfs
#
# Description : Clean file system
#
# Authors
#
# Update
#
# Version
#
# Authors
#
# Update
#
# Version
#
########################################################################
########################################################################
### BEGIN INIT INFO
# Provides:
cleanfs
### BEGIN INIT INFO
# Provides:
# 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
;;
*)
esac
;;
*)
log_warning_msg "\nUnknown device type: ${dtype}"
;;
log_warning_msg "\nUnknown type: ${type}" continue
;;
esac
fi done
# Set up the permissions, too. chown ${usr}:${grp} "${name}" chmod ${perm} "${name}"
# 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
*)
esac
exit $failed
;;
echo "Usage: ${0} {start}" exit 1
;;
# End cleanfs