|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /proc/self/root/etc/sysconfig/network-scripts/ |
Upload File : |
#!/bin/bash
# removes aliases of device $1
device=$1
if [ "$device" = "" ]; then
echo $"usage: $0 <net-device>"
exit 1
fi
parent_device=$device
cd /etc/sysconfig/network-scripts
. network-functions
# This is the same messy sed script as in the ifup-aliases script.
# Update also ifup-aliases!
eval $(LC_ALL= LANG= /sbin/ifconfig | LC_ALL=C sed -n '
# Alias name: store the number in TMP, ignore the following address if the
# device name does not match. This may leave a hanging ||, so dummy X=x
# comands are used to ignore a possible previous condition.
/^[^[:space:]]*:[0-9A-Za-z_]*/ {
s|^\([^:]*\):\([0-9A-Za-z_]*\).*$|X=x; TMP="\2"; [ "$device" != "\1" ] \|\| |p
b
}
# Non-alias device: always ignore the following address
/^[^[:space:]]/ {
s|^.*$|X=x; true \|\| |p
b
}
# Address: Preceded by a device name, which was converted into
# condition ||
# So this triggers only for $device.
# Add a trailing || (which will be swallowed by X=x) to keep the syntax
# correct.
/inet addr:[0-9]*\.[0-9]*\.[0-9]*\.[0-9]* *Bcast:[0-9.]* *Mask:[0-9.]*/ {
s|^.*inet addr:\(\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\) *Bcast:\([0-9.]*\) *Mask:\([0-9.]*\).*$|eval "rdev_${TMP}_addr=\1; rdev_${TMP}_mb=\7_\6; rdevip_\2_\3_\4_\5=${TMP}; rdev_LIST=\\"\\$rdev_LIST \\${TMP}\\"; " \|\| |p
b
}') X=x
for DEVNUM in $rdev_LIST ; do
ifconfig $parent_device:$DEVNUM down
do_netreport=yes
done
# notify programs that have requested notification, if we changed anything
if [ -n "$do_netreport" ]; then
do_netreport
fi