CentOS6.8 自动安装脚本详解
使用时请去掉中文注释
[root@CentOS6 ~]# vim /var/lib/cobbler/kickstarts/CentOS6.8.ks
auth --useshadow --enablemd5
bootloader --location=mbrclearpart --all --initlabelunsupported_hardwaretextfirewall --disabledfirstboot --disablekeyboard uslang en_USrebootrootpw --iscrypted $default_password_cryptedselinux --disabledskipxtimezone --utc Asia/Shanghai#network --bootproto=dhcp --device=eth0 --onboot=oninstallzerombr#part swap --asprimary --fstype="swap" --size=2048part /boot --fstype=ext4 --size=200part pv.01 --size=1 --growvolgroup rootvg pv.01logvol / --fstype=ext4 --name=lv01 --vgname=rootvg --size=10240logvol /data --fstype=ext4 --name=lv02 --vgname=rootvg --size=1 --grow%packages@basevimgccgcc-c++makecmakeopenssl-develnet-toolsntp%end%post#同步系统时间/usr/sbin/ntpdate 202.120.2.101 >/dev/null 2>&1
hwclock --systohcecho -e "0 0 1 * * root /usr/sbin/ntpdate 202.120.2.101 > /dev/null" >> /etc/crontab
service crond restart #关闭SSH域名解析sed -i 's%#UseDNS yes%UseDNS no%' /etc/ssh/sshd_configsed -i 's%GSSAPIAuthentication yes%GSSAPIAuthentication no%' /etc/ssh/sshd_config #执行外部脚本 (自动设置Linux系统静态IP地址、DNS、网关、计算机名称)cd /rootsh /root/autoip6.sh%end |
创建外挂脚本(自动修改静态IP、网关、DNS)——CentOS6.x
[root@CentOS6 ~]# cd /var/www/cobbler/ks_mirror/config/
[root@CentOS6 config]# vim autoip6.sh
#!/bin/shROUTE=$(route -n|grep "^0.0.0.0"|awk '{print $2}')
BROADCAST=$(/sbin/ifconfig eth0|grep -i bcast|awk '{print $3}'|awk -F":" '{print $2}')
HWADDR=$(/sbin/ifconfig eth0|grep -i HWaddr|awk '{print $5}')
IPADDR=$(/sbin/ifconfig eth0|grep "inet addr"|awk '{print $2}'|awk -F":" '{print $2}')
NETMASK=$(/sbin/ifconfig eth0|grep "inet addr"|awk '{print $4}'|awk -F":" '{print $2}')
cat >/etc/sysconfig/network-scripts/ifcfg-eth0<<EOF
DEVICE=eth0BOOTPROTO=staticBROADCAST=$BROADCAST
HWADDR=$HWADDR
IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=$ROUTE
ONBOOT=yesEOF service network restart |
创建外挂脚本(自动修改静态IP、网关、DNS)——CentOS7.x
[root@CentOS6 ~]# cd /var/www/cobbler/ks_mirror/config/
[root@CentOS6 config]# vim autoip7.sh
#!/bin/shDEVICE=$(ip addr | grep '^[0-9]' |grep -v "lo"|awk -F': ' '{print $2}')
ROUTE=$(route -n|grep "^0.0.0.0"|awk '{print $2}')
BROADCAST=$(/sbin/ifconfig $DEVICE|grep broadcast|awk '{print $6}')
HWADDR=$(/sbin/ifconfig $DEVICE|grep ether|awk '{print $2}')
IPADDR=$(/sbin/ifconfig $DEVICE|grep inet|grep -v "inet6"|awk '{print $2}')
NETMASK=$(/sbin/ifconfig $DEVICE|grep netmask|awk '{print $4}')
cat >/etc/sysconfig/network-scripts/ifcfg-$DEVICE<<EOF
NAME=$DEVICE
DEVICE=$DEVICE
ONBOOT=yesNETBOOT=yesBOOTPROTO=staticTYPE=Ethernet
BROADCAST=$BROADCAST
HWADDR=$HWADDR
IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=$ROUTE
DNS1=114.114.114.114EOFservice network restart |
创建外挂脚本(修改主机名)
[root@CentOS6 config]# vim hostname.sh
#!/bin/bashIPADDR=$(/sbin/ifconfig eth0|grep "inet addr"|awk '{print $2}'|awk -F":" '{print $2}')
ROUTE=$(route -n|grep "^0.0.0.0"|awk '{print $2}')HOSTNAME=$1if [ "$HOSTNAME" = "" ]; then echo "HOSTNAME IS NULL";exit 1ficat >/etc/sysconfig/network<<EOFNETWORKING=yesNETWORKING_IPV6=noHOSTNAME=${HOSTNAME}GATEWAY=$ROUTEEOFecho "$IPADDR $HOSTNAME" >> /etc/hostshostname $HOSTNAMEbashecho "nameserver 114.114.114.114" > /etc/resolv.confecho "nameserver 101.226.4.6" >> /etc/resolv.conf |