| #!/bin/sh -e |
| ### BEGIN INIT INFO |
| # Provides: networking |
| # Required-Start: mountkernfs $local_fs |
| # Required-Stop: $local_fs |
| # Should-Start: ifupdown |
| # Should-Stop: ifupdown |
| # Default-Start: S |
| # Default-Stop: 0 6 |
| # Short-Description: Raise network interfaces. |
| ### END INIT INFO |
| |
| PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" |
| |
| [ -x /sbin/ifup ] || exit 0 |
| |
| . /lib/lsb/init-functions |
| |
| process_options() { |
| [ -e /etc/network/options ] || return 0 |
| log_warning_msg "/etc/network/options still exists and it will be IGNORED! Read README.Debian of netbase." |
| } |
| |
| check_network_file_systems() { |
| [ -e /proc/mounts ] || return 0 |
| |
| if [ -e /etc/iscsi/iscsi.initramfs ]; then |
| log_warning_msg "not deconfiguring network interfaces: iSCSI root is mounted." |
| exit 0 |
| fi |
| |
| exec 9<&0 < /proc/mounts |
| while read DEV MTPT FSTYPE REST; do |
| case $DEV in |
| /dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*) |
| log_warning_msg "not deconfiguring network interfaces: network devices still mounted." |
| exit 0 |
| ;; |
| esac |
| case $FSTYPE in |
| nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) |
| log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." |
| exit 0 |
| ;; |
| esac |
| done |
| exec 0<&9 9<&- |
| } |
| |
| check_network_swap() { |
| [ -e /proc/swaps ] || return 0 |
| |
| exec 9<&0 < /proc/swaps |
| while read DEV MTPT FSTYPE REST; do |
| case $DEV in |
| /dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*) |
| log_warning_msg "not deconfiguring network interfaces: network swap still mounted." |
| exit 0 |
| ;; |
| esac |
| done |
| exec 0<&9 9<&- |
| } |
| |
| case "$1" in |
| start) |
| process_options |
| |
| log_action_begin_msg "Configuring network interfaces" |
| if ifup -a; then |
| log_action_end_msg $? |
| else |
| log_action_end_msg $? |
| fi |
| ;; |
| |
| stop) |
| check_network_file_systems |
| check_network_swap |
| |
| log_action_begin_msg "Deconfiguring network interfaces" |
| if ifdown -a --exclude=lo; then |
| log_action_end_msg $? |
| else |
| log_action_end_msg $? |
| fi |
| ;; |
| |
| force-reload|restart) |
| process_options |
| |
| log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces" |
| log_action_begin_msg "Reconfiguring network interfaces" |
| ifdown -a --exclude=lo || true |
| if ifup -a --exclude=lo; then |
| log_action_end_msg $? |
| else |
| log_action_end_msg $? |
| fi |
| ;; |
| |
| *) |
| echo "Usage: /etc/init.d/networking {start|stop}" |
| exit 1 |
| ;; |
| esac |
| |
| exit 0 |
| |