diff --git a/init.d/sysctl.BSD.in b/init.d/sysctl.BSD.in index 22b364b2..eba9d4d6 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 39ce01d6..19c22b4a 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" }