source: bootscripts/lfs/init.d/cleanfs @ 6c32364

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 6c32364 was 6c32364, checked in by Jim Gifford <clfs@…>, 18 years ago

r4177@server: jim | 2006-06-29 16:00:12 -0700
Disable interactive Prompts. Added ccheck for /etc/sysconfig/createfiles.

  • Property mode set to 100644
File size: 2.3 KB
Line 
1#!/bin/sh
2########################################################################
3# Begin $rc_base/init.d/cleanfs
4#
5# Description : Clean file system
6#
7# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
8#
9# Version     : 00.00
10#
11# Notes       :
12#
13########################################################################
14
15. /etc/sysconfig/rc
16. ${rc_functions}
17
18# Function to create files/directory on boot.
19create_files() {
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
23                do
24
25                        # Ignore comments and blank lines.
26                        case "${name}" in
27                                ""|\#*) continue ;;
28                        esac
29
30                        # Ignore existing files.
31                        if [ ! -e "${name}" ]; then
32                                # Create stuff based on its type.
33                                case "${type}" in
34                                        dir)
35                                                mkdir "${name}"
36                                                ;;
37                                        file)
38                                                :> "${name}"
39                                                ;;
40                                        dev)
41                                                case "${dtype}" in
42                                                        char)
43                                                                mknod "${name}" c ${maj} ${min}
44                                                                ;;
45                                                        block)
46                                                                mknod "${name}" b ${maj} ${min}
47                                                                ;;
48                                                        pipe)
49                                                                mknod "${name}" p
50                                                                ;;
51                                                        *) 
52                                                                boot_mesg -n "\nUnknown device type: ${dtype}" ${WARNING}
53                                                                boot_mesg "" ${NORMAL}
54                                                                ;;
55                                                esac
56                                                ;;
57                                        *)
58                                                boot_mesg -n "\nUnknown type: ${type}" ${WARNING}
59                                                boot_mesg "" ${NORMAL}
60                                                continue
61                                                ;;
62                                esac
63
64                                # Set up the permissions, too.
65                                chown ${usr}:${grp} "${name}"
66                                chmod ${perm} "${name}"
67                        fi
68                done
69        exec 0>&9 9>&-
70}
71
72case "${1}" in
73        start)
74                boot_mesg -n "Cleaning file systems:" ${INFO}
75
76                boot_mesg -n " /tmp" ${NORMAL}
77                cd /tmp &&
78                find . -xdev -mindepth 1 ! -name lost+found \
79                        -delete || failed=1
80
81                boot_mesg -n " /var/lock" ${NORMAL}
82                cd /var/lock &&
83                find . -type f ! -newer /proc -exec rm -f {} \; || failed=1
84
85                boot_mesg " /var/run" ${NORMAL}
86                cd /var/run &&
87                find . ! -type d ! -name utmp ! -newer /proc \
88                        -exec rm -f {} \; || failed=1
89                > /var/run/utmp
90                if grep -q '^utmp:' /etc/group ; then
91                        chmod 664 /var/run/utmp
92                        chgrp utmp /var/run/utmp
93                fi
94
95                (exit ${failed})
96                evaluate_retval
97
98                if [ -e /etc/sysconfig/createfiles ]; then
99                        if egrep -qv '^(#|$)' /etc/sysconfig/createfiles 2>/dev/null; then
100                                boot_mesg "Creating files and directories..."
101                                create_files
102                                evaluate_retval
103                        fi
104                fi
105                ;;
106        *)
107                echo "Usage: ${0} {start}"
108                exit 1
109                ;;
110esac
111
112# End $rc_base/init.d/cleanfs
Note: See TracBrowser for help on using the repository browser.