summaryrefslogtreecommitdiffstats
path: root/base/aaabasicfs/cleanfs
diff options
context:
space:
mode:
authorThierry N <thierryn1 at hispeed dot ch>2009-08-07 13:26:37 +0200
committerThierry N <thierryn1 at hispeed dot ch>2009-08-07 13:26:37 +0200
commit31cae2538311f58c8bba5441313d041436f11ce6 (patch)
treecc1fef0aaed8a6affc57b8abff2f8cf7690bb6c1 /base/aaabasicfs/cleanfs
downloadnutyx-extra-31cae2538311f58c8bba5441313d041436f11ce6.tar.gz
nutyx-extra-31cae2538311f58c8bba5441313d041436f11ce6.tar.bz2
nutyx-extra-31cae2538311f58c8bba5441313d041436f11ce6.tar.xz
nutyx-extra-31cae2538311f58c8bba5441313d041436f11ce6.zip
Ajout de aaabasicfs#2009-1
Diffstat (limited to 'base/aaabasicfs/cleanfs')
-rwxr-xr-xbase/aaabasicfs/cleanfs111
1 files changed, 111 insertions, 0 deletions
diff --git a/base/aaabasicfs/cleanfs b/base/aaabasicfs/cleanfs
new file mode 100755
index 000000000..51460d29f
--- /dev/null
+++ b/base/aaabasicfs/cleanfs
@@ -0,0 +1,111 @@
+#!/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}
+ chmod 1777 /tmp
+ cd /tmp &&
+ find . -xdev -mindepth 1 ! -name lost+found \
+ -delete || failed=1
+
+ boot_mesg -n " /var/lock" ${NORMAL}
+ cd /var/lock &&
+ find . -type f ! -newer /proc -exec rm -f {} \; || failed=1
+
+ boot_mesg " /var/run" ${NORMAL}
+ cd /var/run &&
+ find . ! -type d ! -name utmp ! -newer /proc \
+ -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