mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 19:59:20 +01:00
Move network services to /lib/services. Move init-functions to /lib/lsb. Make /lib/lsb a symlink to /lib/services. Create convenience symlink /etc/init.d->/etc/rc.d/init.d Add help and man pages to ifup/ifdown. Append /run/var/bootlog to /var/log/boot.log at the end of the boot sequence. Add capability to step through the boot scripts at boot time. Optionally allow environment variables in sysconfig directory's console, network, and clock files to be placed in rc.site. Add an optional FASTBOOT parameter to set /fastboot when rebooting. Remove a minor warning message from udev that is triggered by the udev_retry boot script. Add SKIPTMPCLEAN as an optional parameter to skip cleaning /tmp at boot time. Add a page to Chapter 7 documenting rc.site. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9597 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
123 lines
3.1 KiB
Bash
123 lines
3.1 KiB
Bash
#!/bin/sh
|
|
########################################################################
|
|
# Begin cleanfs
|
|
#
|
|
# Description : Clean file system
|
|
#
|
|
# Authors : Gerard Beekmans - gerard@linuxfromscratch.org
|
|
# DJ Lucas - dj@linuxfromscratch.org
|
|
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
|
|
#
|
|
# Version : LFS 7.0
|
|
#
|
|
########################################################################
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: cleanfs
|
|
# Required-Start: $local_fs
|
|
# Should-Start:
|
|
# Required-Stop:
|
|
# Should-Stop:
|
|
# Default-Start: S
|
|
# Default-Stop:
|
|
# Short-Description: Cleans temporary directories early in the boot process.
|
|
# Description: Cleans temporary directories /var/run, /var/lock, and
|
|
# optionally) /tmp. cleanfs also creates /var/run/utmp
|
|
# and any files defined in /etc/sysconfig/createfiles.
|
|
# X-LFS-Provided-By: LFS
|
|
### END INIT INFO
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
# Function to create files/directory on boot.
|
|
function create_files()
|
|
{
|
|
# Input to file descriptor 9 and output to stdin (redirection)
|
|
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
|
|
;;
|
|
*)
|
|
log_warning_msg "\nUnknown device type: ${dtype}"
|
|
;;
|
|
esac
|
|
;;
|
|
*)
|
|
log_warning_msg "\nUnknown type: ${type}"
|
|
continue
|
|
;;
|
|
esac
|
|
|
|
# Set up the permissions, too.
|
|
chown ${usr}:${grp} "${name}"
|
|
chmod ${perm} "${name}"
|
|
fi
|
|
done
|
|
|
|
# Close file descriptor 9 (end redirection)
|
|
exec 0>&9 9>&-
|
|
return 0
|
|
}
|
|
|
|
case "${1}" in
|
|
start)
|
|
log_info_msg "Cleaning file systems:"
|
|
|
|
if [ "${SKIPTMPCLEAN}" = "" ]; then
|
|
log_info_msg2 "\n /tmp"
|
|
cd /tmp &&
|
|
find . -xdev -mindepth 1 ! -name lost+found -delete || failed=1
|
|
fi
|
|
|
|
> /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
|
|
log_info_msg "Creating files and directories... "
|
|
create_files # Always returns 0
|
|
evaluate_retval
|
|
fi
|
|
|
|
exit $failed
|
|
;;
|
|
*)
|
|
echo "Usage: ${0} {start}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# End cleanfs
|