diff options
Diffstat (limited to 'packages/initscripts/initscripts-1.0')
-rw-r--r-- | packages/initscripts/initscripts-1.0/slugos/bootclean.sh | 47 | ||||
-rw-r--r-- | packages/initscripts/initscripts-1.0/slugos/volatiles | 36 |
2 files changed, 83 insertions, 0 deletions
diff --git a/packages/initscripts/initscripts-1.0/slugos/bootclean.sh b/packages/initscripts/initscripts-1.0/slugos/bootclean.sh new file mode 100644 index 0000000000..1304cb3794 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/slugos/bootclean.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# +# bootclean.sh - Cleans out /tmp, /var/run, and /var/lock +# This script should run after mountall.sh in runlevel S. +# +# This script relies upon find and xargs, and is largely +# based on the equivalent script in the Debian releases. + +. /etc/default/rcS + +# Completely clean out everything in /tmp, but do not walk into +# anything that might be mounted beneath /tmp. If /tmp is not +# a directory, ignore this (it's probably a symlink to +# /var/volatiles/tmp, and we best leave it alone). + +if [ -d /tmp -a ! -L /tmp ] ; then + echo "bootclean.sh: Cleaning /tmp..." + cd /tmp || { echo "bootclean.sh: unable to cd to /tmp." ; return 1 ; } + find . -depth -xdev ! -type d -print0 | xargs -0r rm -f -- + find . -depth -xdev -type d ! -name . -empty -exec rmdir \{\} \; +else + echo "bootclean.sh: Skipping /tmp (not a directory)..." +fi + +# Now clean out /var/lock. + +if [ -d /var/lock -a ! -L /var/lock ] ; then + echo "bootclean.sh: Cleaning /var/lock..." + cd /var/lock || { echo "bootclean.sh: unable to cd to /var/lock." ; return 1 ; } + find . -xdev ! -type d -print0 | xargs -0r rm -f -- +else + echo "bootclean.sh: Skipping /var/lock (not a directory)..." +fi + +# Now clean out /var/run. + +if [ -d /var/run -a ! -L /var/run ] ; then + echo "bootclean.sh: Cleaning /var/run..." + cd /var/run || { echo "bootclean.sh: unable to cd to /var/run." ; return 1 ; } + find . -xdev ! -type d ! -name utmp -print0 | xargs -0r rm -f -- +else + echo "bootclean.sh: Skipping /var/run (not a directory)..." +fi + +# done. + +exit 0 diff --git a/packages/initscripts/initscripts-1.0/slugos/volatiles b/packages/initscripts/initscripts-1.0/slugos/volatiles new file mode 100644 index 0000000000..3c680b2643 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/slugos/volatiles @@ -0,0 +1,36 @@ +# This configuration file lists filesystem objects that should get verified +# during startup and be created if missing. +# +# Every line must either be a comment starting with # +# or a definition of format: +# <type> <owner> <group> <mode> <path> <linksource> +# where the items are separated by whitespace ! +# +# <type> : d|f|l : (d)irectory|(f)ile|(l)ink +# +# A linking example: +# l root root 0777 /var/test /tmp/testfile +# f root root 0644 /var/test none +# +# Understanding links: +# When populate-volatile is to verify/create a directory or file, it will first +# check it's existence. If a link is found to exist in the place of the target, +# the path of the target is replaced with the target the link points to. +# Thus, if a link is in the place to be verified, the object will be created +# in the place the link points to instead. +# This explains the order of "link before object" as in the example above, where +# a link will be created at /var/test pointing to /tmp/testfile and due to this +# link the file defined as /var/test will actually be created as /tmp/testfile. +d root root 0755 /var/volatile/cache none +d root root 1777 /var/volatile/lock none +d root root 0755 /var/volatile/log none +d root root 0755 /var/volatile/run none +d root root 1777 /var/volatile/tmp none +l root root 0755 /var/cache /var/volatile/cache +l root root 1777 /var/lock /var/volatile/lock +l root root 0755 /var/log /var/volatile/log +l root root 0755 /var/run /var/volatile/run +l root root 1777 /var/tmp /var/volatile/tmp +d root root 0755 /var/lock/subsys none +f root root 0664 /var/log/wtmp none +f root root 0664 /var/run/utmp none |