From cffbaa6c4e90835cf50be79ac304cccf27605b39 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Fri, 13 Jul 2007 00:04:20 +0000 Subject: Use echo instead of touch - saves on forking --- init.d.BSD/clock | 2 +- init.d.Linux/consolefont | 2 +- init.d/bootmisc | 14 +++++++------- init.d/checkroot | 7 ++----- sh/init-common-post.sh | 4 ++-- 5 files changed, 13 insertions(+), 16 deletions(-) diff --git a/init.d.BSD/clock b/init.d.BSD/clock index 17e6f1d9..cc4380f8 100755 --- a/init.d.BSD/clock +++ b/init.d.BSD/clock @@ -24,7 +24,7 @@ start() { [ "${CLOCK}" = "UTC" ] && TBLURB="UTC" ebegin "Starting the System Clock Adjuster [${TBLURB}]" if [ "${CLOCK}" != "UTC" ] ; then - touch /etc/wall_cmos_clock + echo >/etc/wall_cmos_clock start-stop-daemon --start --exec /sbin/adjkerntz -- -i else rm -f /etc/wall_cmos_clock diff --git a/init.d.Linux/consolefont b/init.d.Linux/consolefont index 33d5676a..01f4d039 100755 --- a/init.d.Linux/consolefont +++ b/init.d.Linux/consolefont @@ -78,7 +78,7 @@ start() { cp "${font}" "${RC_LIBDIR}"/console echo "$(basename "${font}")" > "${RC_LIBDIR}"/console/font if [ "${UNICODE}" = "yes" ] ; then - touch "${RC_LIBDIR}"/console/unicode + echo > "${RC_LIBDIR}"/console/unicode else rm -f "${RC_LIBDIR}"/console/unicode fi diff --git a/init.d/bootmisc b/init.d/bootmisc index 6fdbfcd7..4fadb624 100755 --- a/init.d/bootmisc +++ b/init.d/bootmisc @@ -26,15 +26,16 @@ start() { fi fi - if ! touch -c /var/run 2> /dev/null ; then + if ! echo 2>/dev/null >/var/run/.test.$$ ; then ewarn "Skipping /var and /tmp initialization (ro root?)" return 0 fi + rm -f /var/run/.test.$$ if [ "${RC_UNAME}" = "Linux" ] ; then # Setup login records - > /var/run/utmp - touch /var/log/wtmp + echo > /var/run/utmp + [ -e /var/log/wtmp ] || echo > /var/log/wtmp chgrp utmp /var/run/utmp /var/log/wtmp chmod 0664 /var/run/utmp /var/log/wtmp fi @@ -72,7 +73,7 @@ start() { fi # Create the .keep to stop portage from removing /var/lock - > /var/lock/.keep + echo > /var/lock/.keep eend 0 # Clean up /tmp directory @@ -120,13 +121,12 @@ start() { # Create an 'after-boot' dmesg log if [ "${RC_SYS}" != "VPS" ] ; then - touch /var/log/dmesg - chmod 640 /var/log/dmesg dmesg > /var/log/dmesg + chmod 640 /var/log/dmesg fi # Check for /etc/resolv.conf, and create if missing - [ -f /etc/resolv.conf ] || touch /etc/resolv.conf 2>/dev/null + [ -e /etc/resolv.conf ] || echo >/etc/resolv.conf } stop() { diff --git a/init.d/checkroot b/init.d/checkroot index a7a8b3eb..a35d4586 100755 --- a/init.d/checkroot +++ b/init.d/checkroot @@ -7,14 +7,11 @@ and optionally repair them." do_mtab() { # Don't create mtab if /etc is readonly - if ! touch /etc/mtab 2> /dev/null ; then + if ! echo 2>/dev/null >/etc/mtab ; then ewarn "Skipping /etc/mtab initialization" "(ro root?)" return 0 fi - # Clear the existing mtab - > /etc/mtab - # Add the entry for / to mtab mount -f / @@ -43,7 +40,7 @@ do_fsck() { return 0 fi - if touch /.test.$$ 2> /dev/null ; then + if echo 2>/dev/null >/.test.$$ ; then einfo "root filesystem is mounted read-write - skipping" rm -f /.test.$$ return 0 diff --git a/sh/init-common-post.sh b/sh/init-common-post.sh index ec535eb6..a89b12fe 100644 --- a/sh/init-common-post.sh +++ b/sh/init-common-post.sh @@ -4,8 +4,8 @@ # mount $svcdir as something we can write to if it's not rw # On vservers, / is always rw at this point, so we need to clean out # the old service state data -if touch "${RC_SVCDIR}/.test" 2>/dev/null ; then - rm -rf "${RC_SVCDIR}/.test" \ +if echo 2>/dev/null >"${RC_SVCDIR}/.test.$$" ; then + rm -rf "${RC_SVCDIR}/.test.$$" \ $(ls -d1 "${RC_SVCDIR:-/lib/rcscripts/init.d}"/* 2>/dev/null | \ grep -Ev "/(deptree|ksoftlevel)$") else -- cgit v1.2.3