如果批量安装完要修改IP地址和主机名字,每台登陆就显得麻烦,利用一个脚本则可以实现目的

这个脚本单独存放,在kickstart配置文件的最后面,添加一个%post的脚本,具体可以看上一文章

注:网关为192.168.100.1,主机名命名是serice加上IP的最后面的字段

#!/bin/bash
file=/etc/sysconfig/network-scripts/ifcfg-eth0
hostnm=/etc/sysconfig/network
sed -i '/HWADDR/,/UUID/!d' $file
sed -i '2,6d' $file
ip=`ifconfig eth0|grep 'inet '|awk '{print $2}'|sed 's/addr://'`
ipnum=`ifconfig eth0|grep 'inet '|awk '{print $2}'|sed 's/addr://'|awk -F. '{print $4}'`
cat >>$file<<EOF
DEVICE="eth0"
BOOTPROTO=none
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE="Ethernet"
IPADDR=$ip
PREFIX=24
GATEWAY=192.168.100.1
DNS1=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
EOF
sed -i -e "s/HOSTNAME=.*/HOSTNAME=service${ipnum}/" -e '$a GATEWAY=192.168.100.1' $hostnm
reboot

因为装机时是用dhcp的,所以配置文件里面除了MAC地址和UUID,全部删去,而HWADDR和UUID相隔5行,把两行前后和中间的去掉,再添加一些相同的信息即是。

这里有个问题,对于已经去掉HWADDR前面和UUID的后面后,不知道有没有更简单的方法可以去掉HWADDR和UUID中间的行,因为我实在想不出方法才去找出具体的行号进行删除,也是本人水平太菜的原因。

posted on 2014-03-24 13:29  在学习路上  阅读(1699)  评论(0编辑  收藏  举报