diff options
Diffstat (limited to 'rescue/tree/ka/setup_network.sh')
-rwxr-xr-x | rescue/tree/ka/setup_network.sh | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/rescue/tree/ka/setup_network.sh b/rescue/tree/ka/setup_network.sh new file mode 100755 index 000000000..89ddd2c91 --- /dev/null +++ b/rescue/tree/ka/setup_network.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +# this script setups the network on the cloned system +# puts a correct hostname +# changes the IP if static -- for only ONE device (dunno what will happen with multiple NICs) +# needs the file /ka/hostnames + + +curdir=`pwd` + +ip=`/sbin/ifconfig | grep -v 127.0.0.1 | grep "inet addr" | sed 's/^.*inet addr:\([^ ]*\) .*$/\1/g'` +ip=`echo $ip | tr . _` +echo -n "Setting hostname: " +hostname $ip + + +# current hostname has been set up in rc.sysinit +ip=`hostname | tr _ .` + +echo My IP is $ip +cd /ka + +# the sed command will remove unwanted spaces +if test -f hostnames ; then + myname=`cat hostnames | sed -e 's/ / /g' -e 's/ *$//' | grep " $ip\$" | cut -d ' ' -f 1` + nbfound=`echo "$myname" | wc -l` +fi + +if [ $nbfound -ne 1 ] || [ -z "$myname" ]; then + # try DNS + echo IP not found in /ka/hostnames, Trying DNS + myname=`host $ip | grep "domain name" | cut -d " " -f 5 | sed 's/\.$//g' ` +# myname=`nslookup $ip | grep ^Name: | tail -n +2 | head -n 1 | sed 's/Name: *//'` +fi + +if [ -z "$myname" ]; then + myname=`hostname` + echo WARNING:HOSTNAME NOT FOUND +fi + +echo My hostname is $myname + +# change hostname in the network file +old=/mnt/disk/etc/sysconfig/network.beforeka +new=/mnt/disk/etc/sysconfig/network + +rm -f "$old" +mv "$new" "$old" +cat "$old" | grep -v ^HOSTNAME= > "$new" +echo "HOSTNAME=$myname" >> "$new" + +# assume first NIC is the gatewaydev (right ? wrong ?) +#firstnic=`grep ^GATEWAYDEV "$new" | cut -d = -f 2 | tr -d \"` +#echo GATEWAYDEV=$firstnic + +# see if IP has to be written +#proto=`grep ^BOOTPROTO /mnt/disk/etc/sysconfig/network-scripts/ifcfg-$firstnic | cut -d = -f 2 | tr -d \"` +#echo PROTO=$proto +#if [ "$proto" != "dhcp" ]; then +# # proto is static, write the new IP in the config file +# old=/mnt/disk/etc/sysconfig/network-scripts/ifcfg-$firstnic.beforeka +# new=/mnt/disk/etc/sysconfig/network-scripts/ifcfg-$firstnic +# +# rm -f "$old" +# mv "$new" "$old" +# cat "$old" | grep -v ^IPADDR= > "$new" +# echo IPADDR=$ip >> "$new" +#fi + +cd $curdir |