source: bootscripts-standard/bootscripts/clfs/init.d/cleanfs @ 609a9e7

Last change on this file since 609a9e7 was 609a9e7, checked in by William Harrington <kb0iic@…>, 10 years ago

Bring bootscripts up to date with 2.0-pre1

  • Property mode set to 100644
File size: 2.1 KB
Line 
1#!/bin/bash
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                > /var/run/utmp
82                if grep -q '^utmp:' /etc/group ; then
83                        chmod 664 /var/run/utmp
84                        chgrp utmp /var/run/utmp
85                fi
86
87                (exit ${failed})
88                evaluate_retval
89                boot_mesg "" ${NORMAL}
90                if [ -e /etc/sysconfig/createfiles ]; then
91                        if egrep -qv '^(#|$)' /etc/sysconfig/createfiles 2>/dev/null; then
92                                boot_mesg "Creating files and directories..."
93                                create_files
94                                evaluate_retval
95                        fi
96                fi
97                ;;
98        *)
99                echo "Usage: ${0} {start}"
100                exit 1
101                ;;
102esac
103
104# End $rc_base/init.d/cleanfs
Note: See TracBrowser for help on using the repository browser.