2 ########################################################################
3 # Begin $rc_base/init.d/cleanfs
5 # Description : Clean file system
7 # Authors : Gerard Beekmans - gerard@linuxfromscratch.org
13 ########################################################################
18 # Function to create files/directory on boot.
20 # Read in the configuration file.
21 exec 9>&0 < /etc
/sysconfig
/createfiles
22 while read name
type perm usr grp dtype maj min junk
25 # Ignore comments and blank lines.
30 # Ignore existing files.
31 if [ ! -e "${name}" ]; then
32 # Create stuff based on its type.
43 mknod
"${name}" c ${maj} ${min}
46 mknod "${name}" b ${maj} ${min}
52 boot_mesg
-n "\nUnknown device type: ${dtype}" ${WARNING}
53 boot_mesg
"" ${NORMAL}
58 boot_mesg
-n "\nUnknown type: ${type}" ${WARNING}
59 boot_mesg
"" ${NORMAL}
64 # Set up the permissions, too.
65 chown
${usr}:${grp} "${name}"
66 chmod ${perm} "${name}"
74 if [[ ! -L "/var
/run
" ]]; then
75 boot_mesg "Repair
/var
/run symlink to
/run...
"
76 mv -u /var/run/* /run/ 2>&1 > /dev/null
83 if [ ! -e /var/lock/subsys ]; then
84 mkdir -p /var/lock/subsys
86 if [ ! -e /var/lock/time ]; then
87 mkdir -p /var/lock/time
88 chown nobody.root /var/lock/time
90 if [ ! -e /var/run/clamav ]; then
91 mkdir -p /var/run/clamav
92 chown clamav:clamav /var/run/clamav
94 if [ ! -e /var/run/cups ]; then
95 mkdir -p /var/run/cups
97 if [ ! -e /var/run/dbus ]; then
98 mkdir -p /var/run/dbus
100 if [ ! -e /var/run/mysql ]; then
101 mkdir -p /var/run/mysql
102 chown mysql:mysql /var/run/mysql
104 if [ ! -e /var/run/saslauthd ]; then
105 mkdir -p /var/run/saslauthd
107 if [ ! -e /var/log/vnstat ]; then
108 mkdir -p /var/log/vnstat
110 boot_mesg -n "Cleaning
file systems
:" ${INFO}
112 boot_mesg -n " /tmp
" ${NORMAL}
114 find . -xdev -mindepth 1 ! -name lost+found \
117 boot_mesg -n " /var
/ipfire
/dhcp
" ${NORMAL}
118 cd /var/ipfire/dhcpc/ && find . -name "*.pid
" -exec rm -f {} \; || failed=1
119 cd /var/ipfire/dhcpc/ && find . -name "*.cache
" -exec rm -f {} \; || failed=1
120 cd /var/ipfire/dhcpc/ && find . -name "*.info
" -exec rm -f {} \; || failed=1
122 boot_mesg -n " /var
/ipfire
/red
" ${NORMAL}
123 cd /var/ipfire/red/ && find . -name active -exec rm -f {} \; || failed=1
125 boot_mesg -n " /var
/lock
" ${NORMAL}
127 find . -type f ! -newer /proc -exec rm -f {} \; || failed=1
129 boot_mesg -n " /var
/log
/updatexlrator
" ${NORMAL}
130 rm -f /var/log/updatexlrator/checkdeaddl.lck
132 boot_mesg " /var
/run
" ${NORMAL}
134 find . ! -type d ! -name utmp ! -newer /proc \
135 -exec rm -f {} \; || failed=1
137 if grep -q '^utmp:' /etc/group ; then
138 chmod 664 /var/run/utmp
139 chgrp utmp /var/run/utmp
145 if egrep -qv '^(#|$)' /etc/sysconfig/createfiles 2>/dev/null; then
146 boot_mesg "Creating files and directories...
"
152 echo "Usage
: ${0} {start
}"
157 # End $rc_base/init.d/cleanfs