aboutsummaryrefslogtreecommitdiffstats
path: root/rc.d/init.d/functions
diff options
context:
space:
mode:
authorColin Guthrie <colin@mageia.org>2012-10-28 20:16:00 +0000
committerColin Guthrie <colin@mageia.org>2012-10-28 20:16:00 +0000
commit5b2ce4ba3ff6cf5d7df7f5760107ff2f3e7dbe6f (patch)
treeec8a31bfe3ca67db6c5f31e1e34e59708fdfe557 /rc.d/init.d/functions
parent35326f41a29186a00331117c4419a904c6563c7c (diff)
parentbf95e22c4164b82112d043169495a71d1bfa0068 (diff)
downloadinitscripts-5b2ce4ba3ff6cf5d7df7f5760107ff2f3e7dbe6f.tar
initscripts-5b2ce4ba3ff6cf5d7df7f5760107ff2f3e7dbe6f.tar.gz
initscripts-5b2ce4ba3ff6cf5d7df7f5760107ff2f3e7dbe6f.tar.bz2
initscripts-5b2ce4ba3ff6cf5d7df7f5760107ff2f3e7dbe6f.tar.xz
initscripts-5b2ce4ba3ff6cf5d7df7f5760107ff2f3e7dbe6f.zip
Merge tag 'initscripts-9.41-1' into mga-41
Tag as initscripts-9.41-1 Conflicts: .gitignore Makefile inittab po/xgettext_sh.py prefdm rc.d/init.d/functions rc.d/init.d/halt rc.d/init.d/killall rc.d/init.d/netfs rc.d/init.d/network rc.d/init.d/single rc.d/rc rc.d/rc.local rc.d/rc.sysinit service src/console_check.c src/console_init.c sysconfig.txt sysconfig/network-scripts/ifdown sysconfig/network-scripts/ifdown-eth sysconfig/network-scripts/ifup sysconfig/network-scripts/ifup-eth sysconfig/network-scripts/ifup-ippp sysconfig/network-scripts/network-functions systemd/system/fedora-wait-storage.service udev/rules.d/10-console.rules Merge Notes: 1. prefdm: We are keeping the current prefdm script which parses /etc/sysconfig/desktop to find the current preferred dm. We also keep the hunk in sysconfig.txt which relates to the afore mentioned file. Longer term, we should drop this and move to per-dm units. 2. sysconfig/network-scripts/ifup-ippp is still removed at our end... is there a replacement? 3. I used our /sbin/service as it varies quite a lot from fedora. I'd be tempted to drop our custom version in favour of upstream (s/libexec/lib/) 4. ifup/ifdown NM wrappers have been included - previously we just printed a "Device is manged by NM skipping.." message. CONFLICT (modify/delete): udev/rules.d/10-console.rules deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of udev/rules.d/10-console.rules left in tree. Auto-merging systemd/system/fedora-wait-storage.service CONFLICT (content): Merge conflict in systemd/system/fedora-wait-storage.service Auto-merging systemd/fedora-storage-init Auto-merging sysconfig/network-scripts/network-functions CONFLICT (content): Merge conflict in sysconfig/network-scripts/network-functions Removing sysconfig/network-scripts/net.hotplug Auto-merging sysconfig/network-scripts/ifup-sit Auto-merging sysconfig/network-scripts/ifup-post Auto-merging sysconfig/network-scripts/ifup-plusb CONFLICT (modify/delete): sysconfig/network-scripts/ifup-ippp deleted in HEAD and modified in initscripts-9.41-1. Version initscripts-9.41-1 of sysconfig/network-scripts/ifup-ippp left in tree. Auto-merging sysconfig/network-scripts/ifup-eth CONFLICT (content): Merge conflict in sysconfig/network-scripts/ifup-eth Auto-merging sysconfig/network-scripts/ifup CONFLICT (content): Merge conflict in sysconfig/network-scripts/ifup Auto-merging sysconfig/network-scripts/ifdown-sit Auto-merging sysconfig/network-scripts/ifdown-post Auto-merging sysconfig/network-scripts/ifdown-eth CONFLICT (content): Merge conflict in sysconfig/network-scripts/ifdown-eth Auto-merging sysconfig/network-scripts/ifdown CONFLICT (content): Merge conflict in sysconfig/network-scripts/ifdown Auto-merging sysconfig.txt CONFLICT (content): Merge conflict in sysconfig.txt Removing src/testdinit Removing src/testd.c Removing src/securetty.c Removing src/securetty.8 Removing src/getkey.c Removing src/getkey.1 Removing src/fstab-decode.c Removing src/fstab-decode.8 CONFLICT (modify/delete): src/console_init.c deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of src/console_init.c left in tree. CONFLICT (modify/delete): src/console_check.c deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of src/console_check.c left in tree. Auto-merging service CONFLICT (content): Merge conflict in service CONFLICT (modify/delete): rc.d/rc.sysinit deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of rc.d/rc.sysinit left in tree. CONFLICT (modify/delete): rc.d/rc.local deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of rc.d/rc.local left in tree. CONFLICT (modify/delete): rc.d/rc deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of rc.d/rc left in tree. CONFLICT (modify/delete): rc.d/init.d/single deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of rc.d/init.d/single left in tree. Auto-merging rc.d/init.d/network CONFLICT (content): Merge conflict in rc.d/init.d/network CONFLICT (modify/delete): rc.d/init.d/netfs deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of rc.d/init.d/netfs left in tree. Auto-merging rc.d/init.d/netconsole CONFLICT (modify/delete): rc.d/init.d/killall deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of rc.d/init.d/killall left in tree. CONFLICT (modify/delete): rc.d/init.d/halt deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of rc.d/init.d/halt left in tree. Auto-merging rc.d/init.d/functions CONFLICT (content): Merge conflict in rc.d/init.d/functions CONFLICT (modify/delete): prefdm deleted in initscripts-9.41-1 and modified in HEAD. Version HEAD of prefdm left in tree. Auto-merging ppp/ip-up.ipv6to4 CONFLICT (modify/delete): po/xgettext_sh.py deleted in HEAD and modified in initscripts-9.41-1. Version initscripts-9.41-1 of po/xgettext_sh.py left in tree. Removing inittab.upstart Removing inittab.systemd Removing inittab.s390 Auto-merging inittab CONFLICT (content): Merge conflict in inittab Removing init/tty.conf Removing init/start-ttys.conf Removing init/splash-manager.conf Removing init/serial.conf Removing init/rcS.conf Removing init/rcS-sulogin.conf Removing init/rc.conf Removing init/quit-plymouth.conf Removing init/prefdm.conf Removing init/plymouth-shutdown.conf Removing init/control-alt-delete.conf Removing crypttab.5 Removing README-init Removing NetworkManager/dispatcher.d/05-netfs Auto-merging Makefile CONFLICT (content): Merge conflict in Makefile Auto-merging .gitignore CONFLICT (content): Merge conflict in .gitignore Automatic merge failed; fix conflicts and then commit the result.
Diffstat (limited to 'rc.d/init.d/functions')
-rw-r--r--rc.d/init.d/functions414
1 files changed, 34 insertions, 380 deletions
diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions
index 48fa2c01..33f9eb20 100644
--- a/rc.d/init.d/functions
+++ b/rc.d/init.d/functions
@@ -61,7 +61,14 @@ systemctl_redirect () {
}
-[ -z "${CONSOLETYPE:-}" ] && CONSOLETYPE="$(/sbin/consoletype <&2)"
+if [ -z "${CONSOLETYPE:-}" ]; then
+ if [ -c "/dev/stderr" -a -r "/dev/stderr" ]; then
+ CONSOLETYPE="$(/sbin/consoletype < /dev/stderr 2>/dev/null)"
+ else
+ CONSOLETYPE="serial"
+ fi
+fi
+
# Get a sane screen width, and default to 80 when exact info not available
[ -z "${COLUMNS:-}" ] && COLUMNS=`stty -a 2>/dev/null | sed -n 's/.*columns \([0-9]*\);.*/\1/p'`
[ -z "${COLUMNS:-}" ] && COLUMNS=80
@@ -176,11 +183,6 @@ inmyroot() {
}
-# Interpret escape sequences in an fstab entry
-fstab_decode_str() {
- fstab-decode echo "$1"
-}
-
# Check if any of $pid (could be plural) are running
checkpid() {
local i
@@ -191,82 +193,6 @@ checkpid() {
return 1
}
-__readlink() {
- ls -bl "$@" 2>/dev/null| awk '{ print $NF }'
-}
-
-__fgrep() {
- s=$1
- f=$2
- while read line; do
- if strstr "$line" "$s"; then
- echo $line
- return 0
- fi
- done < $f
- return 1
-}
-
-# __umount_loop awk_program fstab_file first_msg retry_msg retry_umount_args
-# awk_program should process fstab_file and return a list of fstab-encoded
-# paths; it doesn't have to handle comments in fstab_file.
-__umount_loop() {
- local remaining sig=-15
- local retry=3 count
-
- remaining=$(LC_ALL=C awk "/^#/ {next} $1" "$2" | sort -r)
- while [ -n "$remaining" -a "$retry" -gt 0 ]; do
- if [ "$retry" -eq 3 ]; then
- action "$3" fstab-decode umount $remaining
- else
- action "$4" fstab-decode umount $5 $remaining
- fi
- count=4
- remaining=$(LC_ALL=C awk "/^#/ {next} $1" "$2" | sort -r)
- while [ "$count" -gt 0 ]; do
- [ -z "$remaining" ] && break
- count=$(($count-1))
- usleep 500000
- remaining=$(LC_ALL=C awk "/^#/ {next} $1" "$2" | sort -r)
- done
- [ -z "$remaining" ] && break
- fstab-decode /sbin/fuser -k -m $sig $remaining >/dev/null
- sleep 3
- retry=$(($retry -1))
- sig=-9
- done
-}
-
-# Similar to __umount loop above, specialized for loopback devices
-__umount_loopback_loop() {
- local remaining devremaining sig=-15
- local retry=3
-
- remaining=$(awk '$1 ~ /^\/dev\/loop/ && $2 != "/" && $2 !~ /^\/live\// {print $2}' /proc/mounts)
- devremaining=$(awk '$1 ~ /^\/dev\/loop/ && $2 != "/" && $2 !~ /^\/live\// {print $1}' /proc/mounts)
- while [ -n "$remaining" -a "$retry" -gt 0 ]; do
- if [ "$retry" -eq 3 ]; then
- action "Unmounting loopback filesystems: " \
- fstab-decode umount $remaining
- else
- action "Unmounting loopback filesystems (retry):" \
- fstab-decode umount $remaining
- fi
- for dev in $devremaining ; do
- losetup $dev > /dev/null 2>&1 && \
- action "Detaching loopback device %s: " $dev \
- losetup -d $dev
- done
- remaining=$(awk '$1 ~ /^\/dev\/loop/ && $2 != "/" && $2 !~ /^\/live\// {print $2}' /proc/mounts)
- devremaining=$(awk '$1 ~ /^\/dev\/loop/ && $2 != "/" && $2 !~ /^\/live\// {print $1}' /proc/mounts)
- [ -z "$remaining" ] && break
- fstab-decode /sbin/fuser -k -m $sig $remaining >/dev/null
- sleep 3
- retry=$(($retry -1))
- sig=-9
- done
-}
-
# __proc_pids {program} [pidfile]
# Set $pid to pids from /var/run* for {program}. $pid should be declared
# local in the caller.
@@ -398,7 +324,7 @@ daemon() {
killproc() {
local RC killlevel= base pid pid_file= delay try
- RC=0; delay=3
+ RC=0; delay=3; try=0
# Test syntax.
if [ "$#" -eq 0 ]; then
gprintf "Usage: killproc [-p pidfile] [ -d delay] {program} [-signal]"
@@ -409,7 +335,11 @@ killproc() {
shift 2
fi
if [ "$1" = "-d" ]; then
- delay=$2
+ delay=$(echo $2 | awk -v RS=' ' -v IGNORECASE=1 '{if($1!~/^[0-9.]+[smhd]?$/) exit 1;d=$1~/s$|^[0-9.]*$/?1:$1~/m$/?60:$1~/h$/?60*60:$1~/d$/?24*60*60:-1;if(d==-1) exit 1;delay+=d*$1} END {printf("%d",delay+0.5)}')
+ if [ "$?" -eq 1 ]; then
+ echo $"Usage: killproc [-p pidfile] [ -d delay] {program} [-signal]"
+ return 1
+ fi
shift 2
fi
@@ -697,121 +627,6 @@ strstr() {
return 0
}
-
-# Confirm whether we really want to run this service
-confirm() {
- gprintf "Start service %s (Y)es/(N)o/(C)ontinue? [Y] \n" $1
- local YES=`gprintf "yY"`
- local NOT=`gprintf "nN"`
- local CNT=`gprintf "cC"`
- read answer
-
- if strstr "$YES" "$answer" || [ "$answer" = "" ] ; then
- return 0
- elif strstr "$CNT" "$answer" ; then
- return 2
- elif strstr "$NOT" "$answer" ; then
- return 1
- fi
- confirm $*
-}
-
-initsplash() {
- [[ -f /etc/sysconfig/bootsplash ]] && source /etc/sysconfig/bootsplash
- [[ -n $SPLASH ]] && splash_rc=$SPLASH
- [[ -x /sbin/plymouthd ]] || splash_rc=no
- if [ -x /sbin/plymouthd ]; then
- splash_mode=plymouth
- if [ -r /proc/cmdline ] && grep -q splash /proc/cmdline && [ "$splash_rc" != "no" ]; then
- splash_rc=yes
- else
- splash_rc=no
- /bin/plymouth quit 2>/dev/null
- PLYMOUTH=
- fi
- else
- splash_rc=no
- fi
-
- [[ $splash_rc != "no" && $splash_rc != "No" && $splash_rc != "NO" ]] && export splash_rc=yes
- [[ $splash_mode = "plymouth" ]] || splash_rc=
- if [[ -z "$1" ]]; then
- set `/sbin/runlevel`
- __runlevel=$2
- __previous=$1
- else
- __runlevel=$1
- __previous=N
- fi
- [ "$splash_mode" = "plymouth" -a "$splash_rc" = "yes" -a -e /sys/class/graphics/fb0 ] && [ "$__runlevel" = 0 -o "$__runlevel" = 6 ] && /sbin/plymouthd --mode=shutdown
- export splash_mode splash_rc
-}
-
-rc_splash() {
- [[ "$splash_rc" = "yes" ]] || return
- if [ "$splash_mode" = "plymouth" ]; then
- if [ "$1" = "start" ]; then
- /bin/plymouth --show-splash 2>/dev/null
- if [ "$2" = "1" ]; then
- /bin/plymouth message --text="`OUTPUT_CHARSET=UTF-8 gprintf 'Booting the system... Press Esc for verbose mode.'`" 2> /dev/null
- elif [ "$2" = "0" ]; then
- /bin/plymouth message --text="`OUTPUT_CHARSET=UTF-8 gprintf 'Shutting down the system... Press Esc for verbose mode.'`" 2> /dev/null
- else
- /bin/plymouth message --text="`OUTPUT_CHARSET=UTF-8 gprintf 'Restarting the system... Press Esc for verbose mode.'`" 2> /dev/null
- fi
- elif [ "$1" = "stop" -o "$1" = "exit" ]; then
- /bin/plymouth quit 2>/dev/null
- elif [ "$1" = "umount" ]; then
- /bin/plymouth quit --retain-splash 2>/dev/null
- elif [ "$1" = "verbose" ]; then
- /bin/plymouth --hide-splash 2>/dev/null
- else
- /bin/plymouth --update "$1" 2>/dev/null
- fi
- fi
-}
-
-#
-# This function finds the encoding of the current locale (it can
-# be overwritten by a "CHARSET" variable if needed); the call
-# to "locale charmap" should return the proper value; in case it
-# fails, a guess from the locale name is done.
-# this function is also defined in setsysfont script
-# if you change it here change it there too, to have the same behaviour
-#
-get_locale_encoding() {
- CHARSET=${CHARSET=`LC_ALL=$GP_LANG locale charmap 2> /dev/null`}
- case "$CHARSET" in
- ANSI_X3.4-1968)
- # this means that the locale has not been
- # correctly initialized; we will look at the
- # locale naming and use the known
- # default values for various languages
- case "${LC_ALL}${LC_CTYPE}${LANG}" in
- # the locale tells it is in UTF-8, or it is a language
- # we know must be in UTF-8 by default
- *.utf8*|*.UTF-8*| \
- am*|an*|ar*|as*|az*|bn*|cy*|eo*|fa*|gn*|gu*|he*|hi*|hy*| \
- id*|ka*|kn*|ku*|ky*|lo*|m*|ne*|om*|pa*|ph*|se*|sr*|st*| \
- ta*|te*|tg*|ti*|tk*|tl*|tt*|ug*|ur*|uz*|vi*|xh*|y*)
- CHARSET="UTF-8" ;;
- esac
- ;;
- esac
- echo "$CHARSET"
-}
-
-# resolve a device node to its major:minor numbers in decimal or hex
-get_numeric_dev() {
-(
- fmt="%d:%d"
- if [ "$1" = "hex" ]; then
- fmt="%x:%x"
- fi
- ls -lH "$2" | awk '{ sub(/,/, "", $5); printf("'"$fmt"'", $5, $6); }'
-) 2>/dev/null
-}
-
# Check whether file $1 is a backup or rpm-generated file and should be ignored
is_ignored_file() {
case "$1" in
@@ -844,187 +659,26 @@ is_false() {
# Apply sysctl settings, including files in /etc/sysctl.d
apply_sysctl() {
- sysctl -e -p /etc/sysctl.conf >/dev/null 2>&1
- for file in /etc/sysctl.d/* ; do
- is_ignored_file "$file" && continue
- test -f "$file" && sysctl -e -p "$file" >/dev/null 2>&1
- done
-}
-
-key_is_random() {
- [ "$1" = "/dev/urandom" -o "$1" = "/dev/hw_random" \
- -o "$1" = "/dev/random" ]
-}
-
-find_crypto_mount_point() {
- local fs_spec fs_file fs_vfstype remaining_fields
- local fs
- while read fs_spec fs_file remaining_fields; do
- if [ "$fs_spec" = "/dev/mapper/$1" ]; then
- echo $fs_file
- break;
- fi
- done < /etc/fstab
-}
-
-# Because of a chicken/egg problem, init_crypto must be run twice. /var may be
-# encrypted but /var/lib/random-seed is needed to initialize swap.
-init_crypto() {
- local have_random dst src key opt lsl owner params makeswap skip arg opt
- local param value rc ret mke2fs mdir prompt mount_point
-
- ret=0
- have_random=$1
- while read dst src key opt; do
- [ -z "$dst" -o "${dst#\#}" != "$dst" ] && continue
- [ -b "/dev/mapper/$dst" ] && continue;
- if [ "$have_random" = 0 ] && key_is_random "$key"; then
- continue
- fi
- if [ -n "$key" -a "x$key" != "xnone" ]; then
- if test -e "$key" ; then
- owner=$(ls -l $key | (read a b owner rest; echo $owner))
- if ! key_is_random "$key"; then
- lsl=$(ls -l "$key")
- if [ "${lsl:4:6}" != "------" ]; then
- gprintf "INSECURE MODE FOR %s\n" $key
- fi
- fi
- if [ "$owner" != root ]; then
- gprintf "INSECURE OWNER FOR %s\n" $key
- fi
- else
- gprintf "Key file for %s not found, skipping\n" $dst
- ret=1
- continue
- fi
- else
- key=""
- fi
- params=""
- makeswap=""
- mke2fs=""
- skip=""
- # Parse the src field for UUID= and convert to real device names
- if [ "${src%%=*}" == "UUID" ]; then
- src=$(/sbin/blkid -t "$src" -l -o device)
- elif [ "${src/^\/dev\/disk\/by-uuid\/}" != "$src" ]; then
- src=$(__readlink $src)
- fi
- # Is it a block device?
- [ -b "$src" ] || continue
- # Is it already a device mapper slave? (this is gross)
- devesc=${src##/dev/}
- devesc=${devesc//\//!}
- for d in /sys/block/dm-*/slaves ; do
- [ -e $d/$devesc ] && continue 2
- done
- # Parse the options field, convert to cryptsetup parameters and
- # contruct the command line
- while [ -n "$opt" ]; do
- arg=${opt%%,*}
- opt=${opt##$arg}
- opt=${opt##,}
- param=${arg%%=*}
- value=${arg##$param=}
-
- case "$param" in
- cipher)
- params="$params -c $value"
- if [ -z "$value" ]; then
- gprintf "%s: no value for cipher option, skipping\n" $dst
- skip="yes"
- fi
- ;;
- size)
- params="$params -s $value"
- if [ -z "$value" ]; then
- gprintf "%s: no value for size option, skipping\n" $dst
- skip="yes"
- fi
- ;;
- hash)
- params="$params -h $value"
- if [ -z "$value" ]; then
- gprintf "%s: no value for hash option, skipping\n" $dst
- skip="yes"
- fi
- ;;
- noauto)
- skip="yes"
- ;;
- verify)
- params="$params -y"
- ;;
- swap)
- makeswap=yes
- ;;
- tmp)
- mke2fs=yes
- esac
- done
- if [ "$skip" = "yes" ]; then
- ret=1
- continue
- fi
- if [ -z "$makeswap" ] && cryptsetup isLuks "$src" 2>/dev/null ; then
- if key_is_random "$key"; then
- gprintf "%s: LUKS requires non-random key, skipping\n" $dst
- ret=1
- continue
- fi
- if [ -n "$params" ]; then
- echo "$dst: options are invalid for LUKS partitions," \
- "ignoring them"
- fi
- if [ -n "$key" ]; then
- /sbin/cryptsetup -d $key luksOpen "$src" "$dst" <&1 2>/dev/null && success || failure
- rc=$?
- else
- mount_point="$(find_crypto_mount_point $dst)"
- [ -n "$mount_point" ] || mount_point=${src##*/}
- prompt=$(printf $"%s is password protected" "$mount_point")
- if [ "$splash_rc" = yes ] && [ -d /usr/share/plymouth ]; then
- plymouth ask-for-password --prompt "$prompt" --command="/sbin/cryptsetup luksOpen -T1 $src $dst" --number-of-tries=3 <&1
- rc=$?
- else
- # stop splash to ask for password
- rc_splash verbose
- /sbin/cryptsetup luksOpen "$src" "$dst" <&1 && success || failure
- rc=$?
- fi
- fi
- else
- if [ -z "$key" ]; then
- mount_point="$(find_crypto_mount_point $dst)"
- [ -n "$mount_point" ] || mount_point=${src##*/}
- prompt=$(printf $"%s is password protected" "$mount_point")
- plymouth ask-for-password --prompt "$prompt" --command="/sbin/cryptsetup $params create $dst $src" <&1
- rc=$?
- else
- /sbin/cryptsetup $params ${key:+-d $key} create "$dst" "$src" <&1 2>/dev/null && success || failure
- rc=$?
- fi
- fi
- if [ $rc -ne 0 ]; then
- ret=1
- continue
- fi
- if [ -b "/dev/mapper/$dst" ]; then
- if [ "$makeswap" = "yes" ]; then
- mkswap "/dev/mapper/$dst" 2>/dev/null >/dev/null
- fi
- if [ "$mke2fs" = "yes" ]; then
- if mke2fs "/dev/mapper/$dst" 2>/dev/null >/dev/null \
- && mdir=$(mktemp -d /tmp/mountXXXXXX); then
- mount "/dev/mapper/$dst" "$mdir" && chmod 1777 "$mdir"
- umount "$mdir"
- rmdir "$mdir"
- fi
- fi
- fi
- done < /etc/crypttab
- return $ret
+ if [ -x /lib/systemd/systemd-sysctl ]; then
+ /lib/systemd/systemd-sysctl
+ else
+ for file in /usr/lib/sysctl.d/*.conf ; do
+ is_ignored_file "$file" && continue
+ [ -f /run/sysctl.d/${file##*/} ] && continue
+ [ -f /etc/sysctl.d/${file##*/} ] && continue
+ test -f "$file" && sysctl -e -p "$file" >/dev/null 2>&1
+ done
+ for file in /run/sysctl.d/*.conf ; do
+ is_ignored_file "$file" && continue
+ [ -f /etc/sysctl.d/${file##*/} ] && continue
+ test -f "$file" && sysctl -e -p "$file" >/dev/null 2>&1
+ done
+ for file in /etc/sysctl.d/*.conf ; do
+ is_ignored_file "$file" && continue
+ test -f "$file" && sysctl -e -p "$file" >/dev/null 2>&1
+ done
+ sysctl -e -p /etc/sysctl.conf >/dev/null 2>&1
+ fi
}
# A sed expression to filter out the files that is_ignored_file recognizes