Current Path : /etc/rc0.d/ |
Current File : //etc/rc0.d/K08ifupdown |
#!/bin/sh -e ### BEGIN INIT INFO # Provides: ifupdown # Required-Start: ifupdown-clean # Required-Stop: $local_fs # Default-Start: S # Default-Stop: 0 6 # Short-Description: Prepare the system for taking up interfaces. ### END INIT INFO [ -x /sbin/ifup ] || exit 0 [ -x /sbin/ifdown ] || exit 0 . /lib/lsb/init-functions MYNAME="${0##*/}" report() { echo "${MYNAME}: $*" ; } report_err() { log_failure_msg "$*" ; } RUN_DIR=/etc/network/run [ -r /etc/default/ifupdown ] && . /etc/default/ifupdown # Note: The state file location is hardcoded in ifup|ifdown IFSTATE=/etc/network/run/ifstate myreadlink () { dest="${1%/}" extras="" while [ "$dest" != "" ]; do if [ -d "$dest" ]; then cd "$dest" dest=$(/bin/pwd) break fi if [ -L "$dest" ]; then d2=$(readlink "$dest") if [ "${d2#/}" = "$d2" ]; then dest="${dest%/*}/$d2" else dest="$d2" fi fi while [ ! -e "$dest" ]; do extras="${dest##*/}/$extras" if [ "${extras%%/*}" = ".." ]; then return 1; fi destx="${dest%/*}" if [ "$destx" = "$dest" ]; then destx=""; fi dest="$destx" done done dest="$dest/$extras" echo "${dest%/}" } case "$1" in start|restart) if [ "$2" ]; then report_err "Arguments to '$1' command not accepted" exit 3 fi log_begin_msg "Setting up networking..." # if /etc/network/run is a symlink to a directory that doesn't exist, # create it. if [ -L "$RUN_DIR" ] && [ ! -d "$RUN_DIR" ] ; then runmkdir="$(myreadlink "$RUN_DIR")" if [ ! "$runmkdir" ] ; then report_err "Cannot create target of /etc/network/run" log_end_msg 1 exit 1 fi if ! mkdir -p "$runmkdir"; then report_err "Failure creating directory $runmkdir" log_end_msg 1 exit 1 fi fi # Create the state file # Doing this also signals that ifupdown is available for use if [ ! -r "$IFSTATE" ]; then if ! : > "$IFSTATE" ; then report_err "Failure initializing $IFSTATE" log_end_msg 1 exit 1 fi fi log_end_msg 0 exit 0 ;; stop) if [ "$2" ]; then report_err "Arguments to '$1' command not accepted" exit 3 fi if [ -x /etc/init.d/ifupdown-clean ]; then /etc/init.d/ifupdown-clean start fi ;; force-reload) ;; *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2 exit 3 ;; esac exit 0