diff options
author | Thierry N <thierryn1 at hispeed dot ch> | 2009-08-07 13:26:37 +0200 |
---|---|---|
committer | Thierry N <thierryn1 at hispeed dot ch> | 2009-08-07 13:26:37 +0200 |
commit | 31cae2538311f58c8bba5441313d041436f11ce6 (patch) | |
tree | cc1fef0aaed8a6affc57b8abff2f8cf7690bb6c1 /base/aaabasicfs/cleanfs | |
download | nutyx-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-x | base/aaabasicfs/cleanfs | 111 |
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 |