From 1d9ce8e9a1ece0fd108b2b50b45bc4a0da0cf3fc Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Tue, 10 Nov 2009 22:40:35 +0000 Subject: Allow sysctl to read confs from /etc/sysctl.d Fixes #203. --- init.d/sysctl.BSD.in | 22 +++++++++++++++------- init.d/sysctl.Linux.in | 14 +++++++++++--- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/init.d/sysctl.BSD.in b/init.d/sysctl.BSD.in index 22b364b..eba9d4d 100644 --- a/init.d/sysctl.BSD.in +++ b/init.d/sysctl.BSD.in @@ -12,13 +12,21 @@ depend() start() { [ -e /etc/sysctl.conf ] || return 0 - local retval=0 var= comments= + local retval=0 var= comments= conf= ebegin "Configuring kernel parameters" - while read var comments; do - case "$var" in - ""|"#"*) continue;; - esac - sysctl -w "$var" >/dev/null || retval=1 - done < /etc/sysctl.conf + eindent + for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do + if [ -r "$conf" ]; then + vebegin "applying $conf" + while read var comments; do + case "$var" in + ""|"#"*) continue;; + esac + sysctl -w "$var" >/dev/null || retval=1 + done < "$conf" + veend $retval + fi + done + eoutdent eend $retval "Some errors were encountered" } diff --git a/init.d/sysctl.Linux.in b/init.d/sysctl.Linux.in index 39ce01d..19c22b4 100644 --- a/init.d/sysctl.Linux.in +++ b/init.d/sysctl.Linux.in @@ -11,8 +11,16 @@ depend() start() { - [ -e /etc/sysctl.conf ] || return 0 + local conf= retval=0 ebegin "Configuring kernel parameters" - sysctl -p >/dev/null - eend $? "Some errors were encountered" + eindent + for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do + if [ -r "$conf" ]; then + vebegin "applying $conf" + sysctl -p "$conf" >/dev/null + veend $? || retval=1 + fi + done + eoutdent + eend $retval "Some errors were encountered" } -- cgit v1.2.3