47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| . /tmp/post-install/variables.txt
 | |
| 
 | |
| #delete the udev rule in the image
 | |
| rule_file=`ls /etc/udev/rules.d/*net_persistent_names.rules`
 | |
| if [ -n "$rule_file" ];then
 | |
|     rm -f $rule_file
 | |
| fi
 | |
| 
 | |
| hostname $HOSTNAME
 | |
| 
 | |
| #write the config files, the device name may change after reboot
 | |
| #so use the dhcp for all interface
 | |
| device_names=`ifconfig -a | grep -i hwaddr | grep -i 'Ethernet' | grep -v usb| awk '{print $1}'`
 | |
| str_cfg_file=''
 | |
| if [ -d "/etc/sysconfig/network-scripts/" ];then
 | |
|     #redhat
 | |
|     grep -i HOSTNAME /etc/sysconfig/network
 | |
|     if [ $? -eq 0 ];then
 | |
|         sed -i "s/HOSTNAME=.*/HOSTNAME=$HOSTNAME/g" /etc/sysconfig/network
 | |
|     else
 | |
|         echo "HOSTNAME=$HOSTNAME" >> /etc/sysconfig/network
 | |
|     fi
 | |
|     for i in $device_names;do
 | |
|         str_cfg_file="/etc/sysconfig/network-scripts/ifcfg-$i"
 | |
|         echo "DEVICE=$i" > $str_cfg_file
 | |
|         echo "BOOTPROTO=dhcp" >> $str_cfg_file
 | |
|         echo "NM_CONTROLLED=yes" >> $str_cfg_file
 | |
|         echo "ONBOOT=yes" >> $str_cfg_file
 | |
|     done
 | |
| elif [ -d "/etc/sysconfig/network/" ];then
 | |
|     #suse
 | |
|     echo "$HOSTNAME" > /etc/HOSTNAME
 | |
|     for i in $device_names;do
 | |
|         str_cfg_file="/etc/sysconfig/network/ifcfg-$i"
 | |
|         echo "DEVICE=$i" > $str_cfg_file
 | |
|         echo "BOOTPROTO=dhcp" >> $str_cfg_file
 | |
|         echo "STARTMODE=onboot" >> $str_cfg_file
 | |
|         echo "DHCLIENT_PRIMARY_DEVICE=yes" >> $str_cfg_file
 | |
|     done
 | |
| else
 | |
|     #ubuntu
 | |
|     echo "Does not support ubuntu."
 | |
|     exit 1
 | |
| fi
 | |
| 
 |