blob: b160fbc220d2e84bcd7169608645af0a05317cfe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
#!/bin/sh
# Begin /etc/init.d/cleanfs
### BEGIN INIT INFO
# Provides: cleanfs
# Required-Start: $local_fs
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start: sysinit
# Default-Stop:
# Short-Description: Cleans temporary directories early in the boot process.
# Description: Cleans temporary directories /var/run, /var/lock, and
# /tmp. cleanfs also creates /var/run/utmp and any files
# defined in /etc/sysconfig/createfiles.
# X-LFS-Default-Start: S50
# X-LFS-Default-Stop:
# X-LFS-Provided-By: LFS
### END INIT INFO
. /lib/lsb/init-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
;;
*)
echo -n "\n${WARNING}Unknown device type: ${dtype}"
echo "${NORMAL}"
;;
esac
;;
*)
echo "\n${WARNING}Unknown type: ${type}${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)
message="Cleaning file systems: "
message="${message}${INFO} /tmp"
find /tmp -xdev -mindepth 1 ! -name lost+found \
-delete || failed=1
message="${message} /var/lock"
find /var/lock -type f -exec rm -f {} \; || failed=1
message="${message} /var/run${NORMAL}"
find /var/run ! -type d ! -name utmp -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 standard
if egrep -qv '^(#|$)' /etc/sysconfig/createfiles 2>/dev/null
then
message="Creating files and directories..."
create_files
evaluate_retval standard
fi
;;
*)
echo "Usage: ${0} {start}"
exit 1
;;
esac
# End /etc/init.d/cleanfs
|