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
|
