CentOS6.8 自动安装脚本详解

CentOS6.8 自动安装脚本详解

 
使用时请去掉中文注释
 
[root@CentOS6 ~]# vim /var/lib/cobbler/kickstarts/CentOS6.8.ks
auth --useshadow --enablemd5
bootloader --location=mbr
clearpart --all --initlabel
unsupported_hardware
text
firewall --disabled
firstboot --disable
keyboard us
lang en_US
reboot
rootpw --iscrypted $default_password_crypted
selinux --disabled
skipx
timezone --utc Asia/Shanghai
#network  --bootproto=dhcp --device=eth0 --onboot=on
install
zerombr
#part swap --asprimary --fstype="swap" --size=2048
part /boot --fstype=ext4 --size=200
part pv.01 --size=1 --grow
volgroup rootvg pv.01
logvol / --fstype=ext4 --name=lv01 --vgname=rootvg --size=10240
logvol /data --fstype=ext4 --name=lv02 --vgname=rootvg --size=1 --grow
 
%packages
@base
vim
gcc
gcc-c++
make
cmake
openssl-devel
net-tools
ntp
%end
 
%post
#同步系统时间
/usr/sbin/ntpdate 202.120.2.101 >/dev/null 2>&1
hwclock --systohc
echo -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_config
sed -i 's%GSSAPIAuthentication yes%GSSAPIAuthentication no%' /etc/ssh/sshd_config
 
#执行外部脚本 (自动设置Linux系统静态IP地址、DNS、网关、计算机名称
cd /root
sh /root/autoip6.sh
%end
 
 
创建外挂脚本(自动修改静态IP、网关、DNS)——CentOS6.x
[root@CentOS6 ~]# cd /var/www/cobbler/ks_mirror/config/
[root@CentOS6 config]# vim autoip6.sh
#!/bin/sh
ROUTE=$(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=eth0
BOOTPROTO=static
BROADCAST=$BROADCAST
HWADDR=$HWADDR
IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=$ROUTE
ONBOOT=yes
EOF
 
service network restart
 
 
创建外挂脚本(自动修改静态IP、网关、DNS)——CentOS7.x
[root@CentOS6 ~]# cd /var/www/cobbler/ks_mirror/config/
[root@CentOS6 config]# vim autoip7.sh
#!/bin/sh
DEVICE=$(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=yes
NETBOOT=yes
BOOTPROTO=static
TYPE=Ethernet
BROADCAST=$BROADCAST
HWADDR=$HWADDR
IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=$ROUTE
DNS1=114.114.114.114
EOF
 
service network restart
 
 
 
创建外挂脚本(修改主机名)
[root@CentOS6 config]# vim hostname.sh
#!/bin/bash
IPADDR=$(/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=$1
if [ "$HOSTNAME" "" ]; then
    echo "HOSTNAME IS NULL";exit 1
fi
 
cat >/etc/sysconfig/network<<EOF
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=${HOSTNAME}
GATEWAY=$ROUTE
EOF
echo "$IPADDR  $HOSTNAME" >> /etc/hosts
hostname $HOSTNAME
bash
echo "nameserver  114.114.114.114"  > /etc/resolv.conf
echo "nameserver  101.226.4.6" >> /etc/resolv.conf
 
 
 
 
 
 
 
 
 
 
 
 





原文地址:https://www.cnblogs.com/hello-sky/p/7687994.html