52 lines
1.6 KiB
Bash
52 lines
1.6 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}'`
|
|
device_names=`ip link |grep "BROADCAST" |awk '{print $2}' | sed s/://`
|
|
str_cfg_file=''
|
|
if [ -d "/etc/sysconfig/network-scripts/" ];then
|
|
#redhat
|
|
if [ -f "/etc/hostname" ]; then #RH7
|
|
echo $HOSTNAME > /etc/hostname
|
|
else
|
|
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
|
|
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
|
|
|