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
|