mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-05-01 07:50:23 +02:00
System ist mittels LFS Bootscripte startbar.
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@354 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
110
src/initscripts/init.d/cleanfs
Normal file
110
src/initscripts/init.d/cleanfs
Normal file
@@ -0,0 +1,110 @@
|
||||
#!/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 ! -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
|
||||
Reference in New Issue
Block a user